2factorauth / twofactorauth

List of sites with two factor auth support which includes SMS, email, phone calls, hardware, and software.
https://2fa.directory
Other
3.39k stars 1.78k forks source link

Introduce new keywords tag so sites will show up for relevant search terms #2811

Closed jellemdekker closed 6 years ago

jellemdekker commented 7 years ago

I recently opened a PR to add Gaijin Entertainment, a game publisher known for numerous games (most notably War Thunder). To play the game, you need an account on gaijin.net. This account also lets you play their other games, so it is an identity shared across games.

Before I opened a PR, I searched on twofactorauth.org for war thunder and gaijin and received no results. If my PR is merged, then technically War Thunder is listed under Gaijin Entertainment. However, a normal user might not know that War Thunder is a game made by Gaijin Entertainment. So they might search for war thunder and still find no results before they realize they must search for gaijin to find out what 2FA solutions are supported for their Gaijin account for War Thunder.

Therefore, I propose to introduce a new, optional tag called keywords, which will contain a space-separated list of keywords (or search terms if you will) which when searched on, will also list any site that has that keyword listed.

To reuse my earlier example, Gaijin Entertainment will then look like this:

    - name: Gaijin Entertainment
      url: https://gaijin.net
      img: gaijin.png
      tfa: Yes
      email: Yes
      sms: Yes
      software: Yes
      doc: https://support.gaijin.net/hc/en-us/articles/203623622-How-to-set-up-the-Two-Step-Authorization-Google-Authenticator-
      keywords: war thunder crossout star conflict

Blizzard may be expanded to:

    - name: Blizzard
      url: http://blizzard.com
      img: blizzard.png
      tfa: Yes
      sms: Yes
      software: Yes
      hardware: Yes
      doc: https://us.battle.net/support/en/article/Blizzard-Authenticator
      keywords: starcraft overwatch hearthstone diablo world warcraft

And Wargaming ('World Of'-games) will become:

    - name: Wargaming
      url: http://wargaming.net/
      tfa: Yes
      software: Yes
      img: wargaming.png
      doc: https://wargaming.net/support/kb/articles/792
      keywords: world warplanes tanks warships

Finally, to demonstrate the new behavior: a user might search for war. The list of results would then include Blizzard, Gaijin Entertainment and Wargaming, because of the match on possible subjects:

Existing sites would optionally be updated and there would have to be guidelines for what keywords are not allowed. Words like 'of' and 'the' are too generic, so they should not be used as keywords. Otherwise the list of search results might never be very specific.

Would this feature be a good addition? Please let me know in your feedback.

mxxcon commented 7 years ago

I'm hesitant to have such a feature because then we are essentially adding an ability for keyword stuffing by overly-eager marketing departments. And checking all the possible keywords 😵.

RichJeanes commented 7 years ago

Hmm... Very much a double-edged sword. I absolutely see the utility of it, but you're right that there is a definite potential for abuse... We would have to be very specific and restrictive in the keyword guidelines. Something like the examples given such as "Keywords are only to be used for names of products covered by this account's 2FA."

jellemdekker commented 7 years ago

"Keywords are limited to names of products and/or services covered by this site's two-factor authentication system. Exclude common English words (e.g. 'the', 'of', 'and')."

@RichJeanes I think that would narrow the selection of allowed terms down significantly already, so that sounds like a good start. I have rephrased it, do you think this is an improvement over your version or is it too specific?

And checking all the possible keywords

@mxxcon You could opt to change the Contributing Guidelines to include a section in new PRs where users have to explain in short the reason for choosing the keywords that they did.

jellemdekker commented 6 years ago

@RichJeanes @mxxcon Have you made a decision regarding this issue?

kenman345 commented 6 years ago

Wanted to note we recently added something like this with this schema change: Link in our code

      "keywords":
        type: seq
        desc: Use this tag to add in any keywords people might use to find this result
        sequence:
          - type: str
            unique: yes

Basically, you add data in the following structure:

  keywords:
    - privacy
    - internet 

In the example, we have two entries for keywords, that are each separate.

Then, similar to how we've added the urls of sites to the search functionality, we added the following to add these keywords into the page: Link in our code

{%- for keyword in website.keywords -%}
 {{ keyword }}
{%- endfor -%}