feat(seo): OG/Twitter tags, sitemap.xml, and Dataset structured data enhancements#5
Open
solrevdev wants to merge 3 commits into
Open
feat(seo): OG/Twitter tags, sitemap.xml, and Dataset structured data enhancements#5solrevdev wants to merge 3 commits into
solrevdev wants to merge 3 commits into
Conversation
- Add canonical link and sitemap link tags to <head> - Add Open Graph meta tags (type, site_name, title, description, url) - Add Twitter Card meta tags (summary card, @solrevdev) - Add sitemap.xml covering index and agent-access pages (daily/weekly) - Add sameAs, numberOfItems, variableMeasured to Dataset JSON-LD - CI now stamps numberOfItems from jq package count and sitemap lastmod Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Owner
Author
|
Implemented the Preview from this PR branch: What changed:
Validation performed locally:
After merge and Pages deployment, the expected live image URL is: Suggested post-deploy checks:
|
Owner
Author
|
Follow-up fix: the first preview URL rendered as a Git LFS pointer because this repo tracks Fixed in commit
Verified the same raw URL now serves the image correctly:
Preview should now render here: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Context
This PR continues a series of SEO improvements to the winget-search static GitHub Pages site at https://solrevdev.com/winget-search/.
Google Search Console status at time of PR
Both missing-field issues are now in validation started state in Search Console (Google is re-crawling to confirm the fixes from the previous commits):
Missing field 'license'— validation started (fix landed in323a3b6)Missing field 'creator'— validation started (fix landed in323a3b6)The screenshot below shows the Data sets report in Google Search Console confirming validation has started for both issues:
These were non-critical warnings. The fixes have been live since
323a3b6and the CI daily run at 02:00 UTC auto-stampsdateModifiedso Google always sees a fresh signal.What this PR adds
1. Open Graph meta tags (
index.html)Adds
og:type,og:site_name,og:title,og:description,og:url— improves how the page renders when shared on social platforms and is a general crawl signal for search engines.2. Twitter Card meta tags (
index.html)Adds
twitter:card(summary),twitter:site/twitter:creator(@solrevdev), title, description.3. Canonical link + sitemap link (
index.html)<link rel="canonical" href="https://solrevdev.com/winget-search/">— prevents duplicate content issues.<link rel="sitemap" type="application/xml" href="sitemap.xml">— advertises the sitemap in-page.4.
sitemap.xml(new file)Covers both pages:
https://solrevdev.com/winget-search/—changefreq: daily,priority: 1.0https://solrevdev.com/winget-search/agent-access.html—changefreq: weekly,priority: 0.5CI stamps
<lastmod>on every build so it stays current.Next step after merge: submit
https://solrevdev.com/winget-search/sitemap.xmlin Google Search Console → Sitemaps.5. Dataset JSON-LD enhancements (
index.html)Three new fields added to the existing
@type: Datasetblock:sameAshttps://github.com/solrevdev/winget-searchnumberOfItems0(placeholder; CI stamps actual count)variableMeasured["packageId", "name", "version", "publisher"]6. CI workflow:
numberOfItems+ sitemaplastmodstampingThe build step now:
Full Dataset JSON-LD state after merge
{ "@context": "https://schema.org", "@type": "Dataset", "name": "Winget Package Search catalog", "description": "Current package metadata extracted from microsoft/winget-pkgs.", "url": "https://solrevdev.com/winget-search/", "isBasedOn": "https://github.com/microsoft/winget-pkgs", "keywords": ["winget", "Windows Package Manager", "package search", "software catalog", "Windows software", "package manager"], "inLanguage": "en", "temporalCoverage": "2025-05-29/..", "datePublished": "2025-05-29", "dateModified": "<stamped-by-CI>", "creator": { "@type": "Person", "name": "John Smith", "url": "https://solrevdev.com/about/" }, "license": "https://spdx.org/licenses/MIT.html", "sameAs": "https://github.com/solrevdev/winget-search", "numberOfItems": "<stamped-by-CI>", "variableMeasured": ["packageId", "name", "version", "publisher"], "distribution": { "@type": "DataDownload", "encodingFormat": "application/json", "contentUrl": "https://solrevdev.com/winget-search/packages.json" } }Remaining SEO opportunities (future work)
og:image— a social preview image would complete the OG cardsitemap.xmlto Google Search Console manually (Sitemaps tab)robots.txtwithSitemap:directive (none exists yet)citationfield in the Dataset block if the data is referenced externallyTest plan
curl -s https://solrevdev.com/winget-search/ | grep -A5 'numberOfItems'numberOfItemsis non-zero (CI-stamped from packages.json count)https://solrevdev.com/winget-search/sitemap.xmlhas today'slastmod🤖 Generated with Claude Code