Skip to content

Fix duplicate meta titles and descriptions across docs.connexcs.com - #420

Open
MGoreConnexcs wants to merge 2 commits into
masterfrom
SEO-fixes
Open

Fix duplicate meta titles and descriptions across docs.connexcs.com#420
MGoreConnexcs wants to merge 2 commits into
masterfrom
SEO-fixes

Conversation

@MGoreConnexcs

Copy link
Copy Markdown
Collaborator

Adds a unique meta description to every page the SEO audit flagged as sharing the site-wide default ("Connex Cloud Softswitch"), and a disambiguated title to the 27 groups of pages that fell back to identical short nav labels (Payment, CDR, Alert, etc.) in the browser tab and search results.

Also wires up theme.custom_dir with an overrides/main.html that makes page.meta.canonical_url actually take effect — previously set on one page but silently ignored by the default Material template.

Adds a unique meta description to every page the SEO audit flagged as
sharing the site-wide default ("Connex Cloud Softswitch"), and a
disambiguated title to the 27 groups of pages that fell back to
identical short nav labels (Payment, CDR, Alert, etc.) in the browser
tab and search results.
Also wires up theme.custom_dir with an overrides/main.html that makes
page.meta.canonical_url actually take effect — previously set on one
page but silently ignored by the default Material template.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 24, 2026 09:30
@cloudflare-workers-and-pages

cloudflare-workers-and-pagesBot commented Aug 24, 2026

Copy link
Copy Markdown

Deploying docs with Cloudflare Pages Cloudflare Pages

Latest commit:65d9699
Status: ✅ Deploy successful!
Preview URL:https://ba4e0ff2.docs-eri.pages.dev
Branch Preview URL:https://seo-fixes.docs-eri.pages.dev

View logs

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves SEO metadata consistency for the MkDocs Material-powered documentation site by (1) ensuring pages have unique meta descriptions/titles (via per-page frontmatter) and (2) enabling a theme override so page.meta.canonical_url is honored in the rendered <link rel="canonical">.

Changes:

  • Enabled theme.custom_dir and added overrides/main.html to override the site_meta block (including canonical URL handling).
  • Added per-page description frontmatter broadly; added/updated title frontmatter on select pages to disambiguate duplicate tab/search-result titles.
  • Updated an existing page frontmatter title (Customer CLI) and added frontmatter to the docs home page.

Reviewed changes

Copilot reviewed 282 out of 282 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
overrides/main.htmlOverrides site_meta to emit description/author/canonical meta (including page.meta.canonical_url).
mkdocs.ymlEnables Material theme overrides via custom_dir: overrides.
docs/workflows-guide.mdAdds page description frontmatter.
docs/webphoneapp.mdAdds page description frontmatter.
docs/webphone.mdAdds page description frontmatter.
docs/voucher.mdAdds page description frontmatter.
docs/video-guide.mdAdds page description frontmatter.
docs/transcription.mdAdds page title + description frontmatter.
docs/terminal-tools.mdAdds page description frontmatter.
docs/tag.mdAdds page title + description frontmatter.
docs/system-status.mdAdds page title + description frontmatter.
docs/spec.mdAdds page description frontmatter.
docs/sip-devices.mdAdds page description frontmatter.
docs/setup/settings/users.mdAdds page description frontmatter.
docs/setup/settings/servers.mdAdds page description frontmatter.
docs/setup/settings/rtp-zones.mdAdds page description frontmatter.
docs/setup/settings/payments.mdAdds page description frontmatter.
docs/setup/settings/options.mdAdds page description frontmatter.
docs/setup/settings/dns.mdAdds page description frontmatter.
docs/setup/settings/account.mdAdds page description frontmatter.
docs/setup/network-ping.mdAdds page description frontmatter.
docs/setup/integrations/portal.mdAdds page title + description frontmatter.
docs/setup/integrations/oauth.mdAdds page description frontmatter.
docs/setup/integrations/jwt.mdAdds page description frontmatter.
docs/setup/integrations/api.mdAdds page title + description frontmatter.
docs/setup/information/stir-shaken.mdAdds page description frontmatter.
docs/setup/information/statements.mdAdds page description frontmatter.
docs/setup/information/payment-log.mdAdds page description frontmatter.
docs/setup/information/jobs.mdAdds page description frontmatter.
docs/setup/information/feature-request.mdAdds page description frontmatter.
docs/setup/information/dial-code-destination.mdAdds page description frontmatter.
docs/setup/information/change-log.mdAdds page description frontmatter.
docs/setup/information/certificate.mdAdds page description frontmatter.
docs/setup/information/audit-log.mdAdds page description frontmatter.
docs/setup/config/templates.mdAdds page description frontmatter.
docs/setup/config/sip-profile.mdAdds page description frontmatter.
docs/setup/config/packages.mdAdds page title + description frontmatter.
docs/setup/config/contracts.mdAdds page title + description frontmatter.
docs/setup/appstore.mdAdds page description frontmatter.
docs/setup/advanced/rtp-block.mdAdds page description frontmatter.
docs/setup/advanced/reseller.mdAdds page description frontmatter.
docs/setup/advanced/prefix-set.mdAdds page description frontmatter.
docs/setup/advanced/language.mdAdds page description frontmatter.
docs/setup/advanced/fraud.mdAdds page description frontmatter.
docs/setup/advanced/firewall.mdAdds page description frontmatter.
docs/setup/account-manager/payment.mdAdds page title + description frontmatter.
docs/setup/account-manager/commission.mdAdds page description frontmatter.
docs/security.mdAdds page description frontmatter.
docs/scaling-load-balancing.mdAdds page description frontmatter.
docs/routing.mdAdds page description frontmatter.
docs/routing-usa.mdAdds page description frontmatter.
docs/routing-strategy.mdAdds page description frontmatter.
docs/reporting-problems.mdAdds page description frontmatter.
docs/report.mdAdds page description frontmatter.
docs/rate-card-building.mdAdds page description frontmatter.
docs/provider-ratecard.mdAdds page description frontmatter.
docs/number-manipulation.mdAdds page description frontmatter.
docs/mcpserver.mdAdds page description frontmatter.
docs/makecall.mdAdds page description frontmatter.
docs/logging.mdAdds page description frontmatter.
docs/logging-out.mdAdds page description frontmatter.
docs/limiting-cps.mdAdds page description frontmatter.
docs/index.mdAdds page title + description frontmatter.
docs/ide.mdAdds page description frontmatter.
docs/hearth.mdAdds page description frontmatter.
docs/guides/tshoot-signal.mdAdds page description frontmatter.
docs/guides/tshoot-media.mdAdds page description frontmatter.
docs/guides/stir-shaken-fcc.mdAdds page description frontmatter.
docs/guides/spam-callsblock.mdAdds page description frontmatter.
docs/guides/sip-traces.mdAdds page description frontmatter.
docs/guides/remote-testing.mdAdds page description frontmatter.
docs/guides/osi-model.mdAdds page description frontmatter.
docs/guides/monitoring.mdAdds page description frontmatter.
docs/guides/major-telecom-regulatory-authorities.mdAdds page description frontmatter.
docs/guides/kyc.mdAdds page description frontmatter.
docs/guides/howto/restrict-calling-plan.mdAdds page description frontmatter.
docs/guides/howto/callid.mdAdds page description frontmatter.
docs/guides/gdpr.mdAdds page description frontmatter.
docs/guides/doc-guide.mdAdds page description frontmatter.
docs/guides/debugging.mdAdds page description frontmatter.
docs/guides/channel-limitations.mdAdds page description frontmatter.
docs/guides/cdr-retention.mdAdds page description frontmatter.
docs/guides/cdr-heuristics.mdAdds page description frontmatter.
docs/guides/capacity-planning.mdAdds page description frontmatter.
docs/guides/call-disconnection-reasons.mdAdds page description frontmatter.
docs/guides/billing-guide.mdAdds page description frontmatter.
docs/guides/3dig-ext.mdAdds page description frontmatter.
docs/globalaiagent.mdAdds page description frontmatter.
docs/global.mdAdds page description frontmatter.
docs/global-routing.mdAdds page description frontmatter.
docs/global-alias.mdAdds page title + description frontmatter.
docs/getting-started.mdAdds page description frontmatter.
docs/files.mdAdds page description frontmatter.
docs/feature-list.mdAdds page description frontmatter.
docs/far-end-nat-traversal.mdAdds page description frontmatter.
docs/dnc.mdAdds page description frontmatter.
docs/developers/scriptforge.mdAdds page description frontmatter.
docs/developers/pages/layout.mdAdds page description frontmatter.
docs/developers/pages/introduction.mdAdds page description frontmatter.
docs/developers/pages/basic-field.mdAdds page description frontmatter.
docs/developers/pages/advance-field.mdAdds page description frontmatter.
docs/developers/database.mdAdds page description frontmatter.
docs/developers/button-builder.mdAdds page title + description frontmatter.
docs/developers/analytics.mdAdds page description frontmatter.
docs/datasuite.mdAdds page description frontmatter.
docs/datasets.mdAdds page description frontmatter.
docs/dashboard.mdAdds page title + description frontmatter.
docs/customer/transcriptions.mdAdds page title + description frontmatter.
docs/customer/tags.mdAdds page description frontmatter.
docs/customer/stats.mdAdds page title + description frontmatter.
docs/customer/routing.mdAdds page description frontmatter.
docs/customer/route-stats.mdAdds page description frontmatter.
docs/customer/payment.mdAdds page title + description frontmatter.
docs/customer/package.mdAdds page title + description frontmatter.
docs/customer/main.mdAdds page title + description frontmatter.
docs/customer/latest-calls.mdAdds page title + description frontmatter.
docs/customer/invoices.mdAdds page description frontmatter.
docs/customer/documents.mdAdds page title + description frontmatter.
docs/customer/did.mdAdds page title + description frontmatter.
docs/customer/dialogs.mdAdds page title + description frontmatter.
docs/customer/customer.mdAdds page description frontmatter.
docs/customer/customer-page-interface.mdAdds page description frontmatter.
docs/customer/custom-reports.mdAdds page title + description frontmatter.
docs/customer/contracts.mdAdds page title + description frontmatter.
docs/customer/cli.mdUpdates title and adds description frontmatter.
docs/customer/class5.mdAdds page description frontmatter.
docs/customer/cdr.mdAdds page title + description frontmatter.
docs/customer/auth.mdAdds page title + description frontmatter.
docs/customer/alias.mdAdds page title + description frontmatter.
docs/customer/alerts.mdAdds page title + description frontmatter.
docs/customer-ratecard.mdAdds page description frontmatter.
docs/customer-portal/status.mdAdds page title + description frontmatter.
docs/customer-portal/pbx.mdAdds page description frontmatter.
docs/customer-portal/interconnect.mdAdds page description frontmatter.
docs/customer-portal/failover.mdAdds page description frontmatter.
docs/customer-portal/cp-user-reg.mdAdds page description frontmatter.
docs/customer-portal/cp-routes.mdAdds page description frontmatter.
docs/customer-portal/cp-recording.mdAdds page description frontmatter.
docs/customer-portal/cp-queue.mdAdds page description frontmatter.
docs/customer-portal/cp-payment.mdAdds page title + description frontmatter.
docs/customer-portal/cp-package.mdAdds page description frontmatter.
docs/customer-portal/cp-latest-calls.mdAdds page title + description frontmatter.
docs/customer-portal/cp-ivr.mdAdds page title + description frontmatter.
docs/customer-portal/cp-invoice.mdAdds page description frontmatter.
docs/customer-portal/cp-group.mdAdds page title + description frontmatter.
docs/customer-portal/cp-documents.mdAdds page title + description frontmatter.
docs/customer-portal/cp-did.mdAdds page title + description frontmatter.
docs/customer-portal/cp-did-purchase.mdAdds page title + description frontmatter.
docs/customer-portal/cp-dialogs.mdAdds page title + description frontmatter.
docs/customer-portal/cp-data-management.mdAdds page description frontmatter.
docs/customer-portal/cp-dashboard.mdAdds page title + description frontmatter.
docs/customer-portal/cp-contracts.mdAdds page title + description frontmatter.
docs/customer-portal/cp-contact-center.mdAdds page title + description frontmatter.
docs/customer-portal/cp-conference.mdAdds page title + description frontmatter.
docs/customer-portal/cp-con-center.mdAdds page description frontmatter.
docs/customer-portal/cp-cdr.mdAdds page title + description frontmatter.
docs/customer-portal/cp-cc-setting-up-dialer.mdAdds page title + description frontmatter.
docs/customer-portal/cp-cc-install.mdAdds page description frontmatter.
docs/customer-portal/cp-cc-dialer-dashboard.mdAdds page description frontmatter.
docs/customer-portal/cp-cc-creating-scripts.mdAdds page description frontmatter.
docs/customer-portal/cp-cc-creating-leadsets.mdAdds page description frontmatter.
docs/customer-portal/cp-cc-creating-agents.mdAdds page description frontmatter.
docs/customer-portal/cp-cc-campaign.mdAdds page description frontmatter.
docs/customer-portal/cp-cc-agent-dialer-guide.mdAdds page description frontmatter.
docs/customer-portal/cp-breakout.mdAdds page description frontmatter.
docs/customer-portal/cp-authentication.mdAdds page description frontmatter.
docs/customer-portal/cp-audio.mdAdds page description frontmatter.
docs/customer-portal/cp-alert.mdAdds page title + description frontmatter.
docs/credit-control.mdAdds page description frontmatter.
docs/connexamine.mdAdds page description frontmatter.
docs/cliterminal.mdAdds page description frontmatter.
docs/class5/voicemail.mdAdds page description frontmatter.
docs/class5/phonebook.mdAdds page description frontmatter.
docs/class5/knowledge-base.mdAdds page description frontmatter.
docs/class5/creating-ivr.mdAdds page title + description frontmatter.
docs/class5/creating-group.mdAdds page description frontmatter.
docs/class5/creating-conference.mdAdds page title + description frontmatter.
docs/class5/connexml.mdAdds page description frontmatter.
docs/class5/class5-intro.mdAdds page title + description frontmatter.
docs/class5/call-center.mdAdds page description frontmatter.
docs/class5/apps.mdAdds page description frontmatter.
docs/class5/ai-agent.mdAdds page description frontmatter.
docs/circuit-test.mdAdds page description frontmatter.
docs/changing-password.mdAdds page description frontmatter.
docs/changing-language.mdAdds page description frontmatter.
docs/carrier/carrier-stats.mdAdds page title + description frontmatter.
docs/carrier/carrier-reply-management.mdAdds page description frontmatter.
docs/carrier/carrier-payment.mdAdds page title + description frontmatter.
docs/carrier/carrier-main.mdAdds page title + description frontmatter.
docs/carrier/carrier-latest-calls.mdAdds page title + description frontmatter.
docs/carrier/carrier-failover.mdAdds page description frontmatter.
docs/carrier/carrier-did.mdAdds page title + description frontmatter.
docs/carrier/carrier-did-inventory.mdAdds page description frontmatter.
docs/carrier/carrier-custom-reports.mdAdds page title + description frontmatter.
docs/carrier/carrier-cdr.mdAdds page title + description frontmatter.
docs/carrier/carrier-auth.mdAdds page title + description frontmatter.
docs/carrier/carrier-alerts.mdAdds page title + description frontmatter.
docs/carrier.mdAdds page description frontmatter.
docs/calling-card.mdAdds page description frontmatter.
docs/billing.mdAdds page description frontmatter.
docs/billing-basics.mdAdds page description frontmatter.
docs/apps/use-case.mdAdds page description frontmatter.
docs/apps/page-builder.mdAdds page description frontmatter.
docs/apps/introduction.mdAdds page title + description frontmatter.
docs/apps/features.mdAdds page description frontmatter.
docs/apps/contact.mdAdds page description frontmatter.
docs/apps/components/webphone.mdAdds page description frontmatter.
docs/apps/components/tree-select.mdAdds page description frontmatter.
docs/apps/components/transfer.mdAdds page description frontmatter.
docs/apps/components/time.mdAdds page description frontmatter.
docs/apps/components/text.mdAdds page description frontmatter.
docs/apps/components/text-area.mdAdds page description frontmatter.
docs/apps/components/tabs.mdAdds page description frontmatter.
docs/apps/components/table.mdAdds page description frontmatter.
docs/apps/components/switch.mdAdds page description frontmatter.
docs/apps/components/sub-form+.mdAdds page description frontmatter.
docs/apps/components/sub-form.mdAdds page description frontmatter.
docs/apps/components/steps.mdAdds page description frontmatter.
docs/apps/components/statistic.mdAdds page description frontmatter.
docs/apps/components/slider.mdAdds page description frontmatter.
docs/apps/components/select.mdAdds page description frontmatter.
docs/apps/components/rate.mdAdds page description frontmatter.
docs/apps/components/radio.mdAdds page description frontmatter.
docs/apps/components/portal.mdAdds page title + description frontmatter.
docs/apps/components/pagination.mdAdds page description frontmatter.
docs/apps/components/page-layout.mdAdds page description frontmatter.
docs/apps/components/number.mdAdds page description frontmatter.
docs/apps/components/link.mdAdds page description frontmatter.
docs/apps/components/input.mdAdds page description frontmatter.
docs/apps/components/inline.mdAdds page description frontmatter.
docs/apps/components/iframe.mdAdds page description frontmatter.
docs/apps/components/html.mdAdds page description frontmatter.
docs/apps/components/group.mdAdds page title + description frontmatter.
docs/apps/components/grid.mdAdds page description frontmatter.
docs/apps/components/editor.mdAdds page description frontmatter.
docs/apps/components/divider.mdAdds page description frontmatter.
docs/apps/components/dialog.mdAdds page description frontmatter.
docs/apps/components/date.mdAdds page title + description frontmatter.
docs/apps/components/data-grid.mdAdds page description frontmatter.
docs/apps/components/color.mdAdds page description frontmatter.
docs/apps/components/collapse.mdAdds page description frontmatter.
docs/apps/components/checkbox.mdAdds page description frontmatter.
docs/apps/components/chart.mdAdds page description frontmatter.
docs/apps/components/cascader.mdAdds page description frontmatter.
docs/apps/components/card.mdAdds page description frontmatter.
docs/apps/components/button.mdAdds page description frontmatter.
docs/apps/components/alert.mdAdds page title + description frontmatter.
docs/apps/architecture/template.mdAdds page description frontmatter.
docs/apps/architecture/scriptforge.mdAdds page title + description frontmatter.
docs/apps/architecture/scriptforge-migration.mdAdds page description frontmatter.
docs/apps/architecture/query-builder.mdAdds page description frontmatter.
docs/apps/architecture/pub-sub.mdAdds page description frontmatter.
docs/apps/architecture/project.mdAdds page description frontmatter.
docs/apps/architecture/livetranscription.mdAdds page description frontmatter.
docs/apps/architecture/key-value.mdAdds page description frontmatter.
docs/apps/architecture/environmental-variables.mdAdds page description frontmatter.
docs/apps/architecture/domain.mdAdds page description frontmatter.
docs/apps/architecture/database.mdAdds page description frontmatter.
docs/apps/architecture/cxWebSocket.mdAdds page description frontmatter.
docs/apps/architecture/cxUserspace.mdAdds page description frontmatter.
docs/apps/architecture/cxSend.mdAdds page description frontmatter.
docs/apps/architecture/cxRouter.mdAdds page description frontmatter.
docs/apps/architecture/cxRest.mdAdds page description frontmatter.
docs/apps/architecture/cxRegistry.mdAdds page description frontmatter.
docs/apps/architecture/cxPubSub.mdAdds page description frontmatter.
docs/apps/architecture/cxMcpServer.mdAdds page description frontmatter.
docs/apps/architecture/cxKysely.mdAdds page description frontmatter.
docs/apps/architecture/cxKV.mdAdds page description frontmatter.
docs/apps/architecture/cxJob.mdAdds page description frontmatter.
docs/apps/architecture/cxCallControl.mdAdds page description frontmatter.
docs/apps/architecture/cxC5Server.mdAdds page title + description frontmatter.
docs/apps/architecture/button-builder.mdAdds page title + description frontmatter.
docs/apps/architecture/architecture.mdAdds page description frontmatter.
docs/apps/architecture/app.mdAdds page description frontmatter.
docs/api.mdAdds page title + description frontmatter.
docs/anyedge/anyedge.mdAdds page description frontmatter.
docs/anvil.mdAdds page description frontmatter.
docs/anvil-apps/yoco-payments.mdAdds page description frontmatter.
docs/anvil-apps/peering-hub.mdAdds page description frontmatter.
docs/anvil-apps/did-purchase.mdAdds page title + description frontmatter.
docs/anvil-apps/click-2-dial.mdAdds page description frontmatter.
docs/acronyms-and-definitions.mdAdds page description frontmatter.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 282 out of 282 changed files in this pull request and generated no new comments.

Anchor link in billing-basics.md didn't match the actual heading
slug, and the support email link in kyc.md was missing the mailto:
scheme — both tripped mkdocs build --strict.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 282 out of 282 changed files in this pull request and generated no new comments.

Suppressed comments (1)

Previously missed (1) — in code that hasn't changed since the last review.

docs/billing-basics.md:30

  • The link text says “Why Minutes × Rate ≠ Invoice Total”, but the target section heading is “Why "Minutes × Cost Per Minute" ≠ Invoice Total”. This mismatch can confuse readers (the anchor already points at the Cost Per Minute section).

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MGoreConnexcs