feat(web): overhaul SEO structure and intent landing pages (#210)
* feat(web): overhaul SEO structure and landing pages Add distro-specific install pages and an engine comparison hub to capture high-intent organic queries. Centralize metadata and structured data handling to improve crawl consistency, internal linking, and rich-result eligibility. * feat(web): add subpage navigation and visual polish Make SEO landing pages easier to discover and navigate by adding persistent subpage header/footer links to home and key routes. Refresh install and comparison pages with colorful icon-driven sections while expanding homepage footer links for stronger internal linking. * fix(ci): make web version sync robust to schema location CI assumed softwareVersion lived in layout.tsx, but SEO refactors moved SoftwareApplication JSON-LD to page.tsx. Update workflow sync steps to patch whichever file currently contains softwareVersion so website build and release jobs keep working. * chore(web): remove SEO audit artifact Drop the internal SEO audit markdown from the PR so only production website and workflow changes are included.
This commit is contained in:
@@ -154,16 +154,24 @@ jobs:
|
||||
run: |
|
||||
VERSION=$(grep -oP '__version__\s*=\s*"\K[^"]+' src/vocalinux/version.py)
|
||||
echo "Syncing version: $VERSION"
|
||||
# Update softwareVersion in layout.tsx
|
||||
sed -i 's/"softwareVersion": "[^"]*"/"softwareVersion": "'"$VERSION"'"/' web/src/app/layout.tsx
|
||||
# Update softwareVersion where JSON-LD currently lives
|
||||
if grep -q '"softwareVersion": "' web/src/app/page.tsx; then
|
||||
sed -i 's/"softwareVersion": "[^"]*"/"softwareVersion": "'"$VERSION"'"/' web/src/app/page.tsx
|
||||
echo "Updated page.tsx version:"
|
||||
grep -oP '"softwareVersion":\s*"\K[^"]+' web/src/app/page.tsx
|
||||
elif grep -q '"softwareVersion": "' web/src/app/layout.tsx; then
|
||||
sed -i 's/"softwareVersion": "[^"]*"/"softwareVersion": "'"$VERSION"'"/' web/src/app/layout.tsx
|
||||
echo "Updated layout.tsx version:"
|
||||
grep -oP '"softwareVersion":\s*"\K[^"]+' web/src/app/layout.tsx
|
||||
else
|
||||
echo "::warning::No softwareVersion field found in page.tsx or layout.tsx; skipping sync"
|
||||
fi
|
||||
# Update package.json version (remove -alpha/beta/rc suffix for npm)
|
||||
NPM_VERSION=${VERSION%-*}
|
||||
NPM_VERSION=${NPM_VERSION%-beta*}
|
||||
NPM_VERSION=${NPM_VERSION%-rc*}
|
||||
sed -i 's/"version": "[^"]*"/"version": "'"$NPM_VERSION"'"/' web/package.json
|
||||
# Verify the changes
|
||||
echo "Updated layout.tsx version:"
|
||||
grep -oP '"softwareVersion":\s*"\K[^"]+' web/src/app/layout.tsx
|
||||
echo "Updated package.json version:"
|
||||
grep -oP '"version":\s*"\K[^"]+' web/package.json
|
||||
|
||||
|
||||
Reference in New Issue
Block a user