Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search Engine Optimization #32

Open
Mischback opened this issue Dec 22, 2022 · 3 comments
Open

Search Engine Optimization #32

Mischback opened this issue Dec 22, 2022 · 3 comments
Labels
area/content Relevant for the actual content area/theme Affects the visual appearence type/improvement Improvement of an existing feature

Comments

@Mischback
Copy link
Owner

As of now, this issue is just used to collect resources on SEO.

@Mischback Mischback added type/improvement Improvement of an existing feature area/content Relevant for the actual content area/theme Affects the visual appearence labels Dec 22, 2022
@Mischback Mischback added this to the this is no milestone milestone Dec 22, 2022
@Mischback
Copy link
Owner Author

Mischback commented Dec 22, 2022

Resources

@Mischback
Copy link
Owner Author

Mischback commented Jan 3, 2023

Required Meta Information

  • Language
    • should be en or de (default: en)
    • used by:
      • <html lang="[HERE]"> (template base.html)
      • OpenGraph: <meta property="og:locale" content="[HERE]">
  • Publication Date
    • format: https://www.w3.org/TR/NOTE-datetime
    • should be sufficient to specify YYYY-MM-DD
    • used by:
      • the actual document; should be converted into human readable format (Meta box in aside)
        • TODO: Determine what this human readable format should be, e.g. 03. January 2023, but how should German/English documents be handled?
      • OpenGraph: <meta property="og:article:published_time" content="[HERE]">
  • Last Modified
    • format: https://www.w3.org/TR/NOTE-datetime
    • should be sufficient to specify YYYY-MM-DD
    • TODO: Is it possible to determine this automatically, e.g. by looking at Git meta information of the source file?
      • Is this even desirable? Possibly this would update the timestamp, even without touching the article's content, e.g. when meta information is adjusted/modified
    • used by:
      • the actual document; should be converted into human readalbe format (Meta box in aside)
      • in sitemap.xml: <lastmod>
      • OpenGraph: <meta property="og:article:modified_time" content="[HERE]">
  • Permalink / URI
    • should be the absolute link to the document
    • Canonical URI
    • TODO: MUST be determined automatically during the build process!
      • It is! When html_baseurl is set in conf.py, pageurl is provided for every document's context and may be used like this in the template:
        {%- if pageurl %}
        <link rel="canonical" href="{{ pageurl }}" />
        {%- endif %}
    • used by:
      • in sitemap.xml: <loc>
      • OpenGraph: <meta property="og:url" content="[HERE]">
  • Change Frequency
    • used by:
      • sitemap.xml: <changefreq>: (always), hourly, daily, weekly, monthly, yearly, (never)
        • actual articles will most likely have yearly, some might use monthly
        • overview pages (all index.rst files) will most likely have monthly, the overall splash page might use weekly
  • Priority
    • used by:
      • sitemap.xml: <priority>: 0.0 <= x <= 1.0
        • default value for articles: 0.5
        • manual override, while the article is included in a category overview spotlight: 0.9
        • manual override, while the article is included in the overall splash page: 1.0
        • administrative content: 0.1
        • overall splash page: 0.4
        • overview pages (all index.rst files): 0.0
          • a priority of 0.0 should automatically add <meta property="robots" content="noindex,noarchive">
  • Thumbnail
    • MUST be a dedicated image for every article!
    • used by:
      • OpenGraph: <meta property="og:image" content="[Absolute URL HERE]">

Beside OpenGraph there are other ways to provide semantic meta data, which should help with SEO. One example, that seems implementable with reasonable effort is JSON-LD.

See https://www.w3.org/TR/json-ld/ for reference and https://schema.org/WebPage for a possible type for the content. This might be done manually (through Jinja2 templates) or with a Python library like https://rdflib.readthedocs.io/en/latest/index.html

@Mischback
Copy link
Owner Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/content Relevant for the actual content area/theme Affects the visual appearence type/improvement Improvement of an existing feature
Projects
None yet
Development

No branches or pull requests

1 participant