Skip to content

Set up Domain and SEO Tools#92

Open
GYFX35 wants to merge 1 commit intomainfrom
docs/domain-seo-setup-7363058126020077711
Open

Set up Domain and SEO Tools#92
GYFX35 wants to merge 1 commit intomainfrom
docs/domain-seo-setup-7363058126020077711

Conversation

@GYFX35
Copy link
Copy Markdown
Owner

@GYFX35 GYFX35 commented Mar 15, 2026

This change configures the project for the custom domain yendoukoa.ai and integrates SEO tools. It includes CNAME files for GitHub Pages, a robots.txt and sitemap.xml for search engine indexing, and Google Search Console verification meta tags in both the Flask and React frontends. The React frontend was rebuilt to ensure all static assets are correctly placed in the docs/ directory for deployment.


PR created automatically by Jules for task 7363058126020077711 started by @GYFX35

Summary by Sourcery

Add SEO configuration for the yendoukoa.ai domain across both the Flask and React frontends.

Enhancements:

  • Add Google Search Console verification meta tags to the Flask template and both React frontend entry HTML files.
  • Provide sitemap.xml files for the main site, Flask static assets, and React public assets to improve search engine indexing.
  • Add robots.txt files for the docs site, Flask static assets, and React public assets to control crawler access.

- Add CNAME, robots.txt, and sitemap.xml to marketplace-frontend/public/
- Add robots.txt and sitemap.xml to frontend/static/
- Add Google Search Console verification meta tags with instructions
- Update sitemap.xml with current date (2026-03-15)
- Run React build to propagate SEO files to docs/ directory
- Remove redundant CNAME from frontend/static/

Co-authored-by: GYFX35 <134739293+GYFX35@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai bot commented Mar 15, 2026

Reviewer's Guide

Configures SEO and domain support across the static docs site, Flask templates, and React frontend by adding Google Search Console verification meta tags and introducing sitemap.xml and robots.txt files for each deployment surface.

Sequence diagram for search engine verification and crawling

sequenceDiagram
  participant GSC as GoogleSearchConsole
  participant Bot as SearchEngineBot
  participant DNS as yendoukoa_ai_DNS
  participant Docs as GitHub_Pages_docs

  GSC->>DNS: Resolve yendoukoa.ai
  DNS-->>GSC: IP for docs hosting
  GSC->>Docs: GET /
  Docs-->>GSC: index.html with google-site-verification meta
  GSC-->>GSC: Verify ownership via meta tag

  Bot->>DNS: Resolve yendoukoa.ai
  DNS-->>Bot: IP for docs hosting

  Bot->>Docs: GET /robots.txt
  Docs-->>Bot: robots.txt rules

  Bot->>Docs: GET /sitemap.xml
  Docs-->>Bot: sitemap.xml with <loc>https://yendoukoa.ai/</loc>

  Bot->>Docs: Crawl listed URL /
  Docs-->>Bot: index.html with google-site-verification meta
Loading

File-Level Changes

Change Details Files
Add Google Search Console verification meta tags across all HTML entrypoints.
  • Insert a placeholder google-site-verification meta tag into the built docs/index.html used for GitHub Pages.
  • Add the same placeholder verification meta tag to the Flask index template so the dynamic site also exposes it.
  • Add the placeholder verification meta tag to the React marketplace-frontend index.html for consistency across deployments.
docs/index.html
frontend/templates/index.html
marketplace-frontend/index.html
Introduce sitemap.xml files for each deployment target to aid search engine indexing.
  • Create a sitemap.xml in the docs directory pointing to https://yendoukoa.ai/ with lastmod set to 2026-03-15 and monthly changefreq.
  • Add an identical sitemap.xml under frontend/static so the Flask app can serve it directly as a static asset.
  • Add an identical sitemap.xml under marketplace-frontend/public so the React app build outputs it at the root.
docs/sitemap.xml
frontend/static/sitemap.xml
marketplace-frontend/public/sitemap.xml
Add robots.txt files for each hosting surface (contents not shown in diff).
  • Introduce robots.txt under docs for GitHub Pages deployment.
  • Add robots.txt under frontend/static so the Flask app can serve crawl directives.
  • Add robots.txt under marketplace-frontend/public so the React app exposes it at the root.
docs/robots.txt
frontend/static/robots.txt
marketplace-frontend/public/robots.txt

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying ai-services with  Cloudflare Pages  Cloudflare Pages

Latest commit: cb754b2
Status: ✅  Deploy successful!
Preview URL: https://5d74e43b.ai-services-36y.pages.dev
Branch Preview URL: https://docs-domain-seo-setup-736305.ai-services-36y.pages.dev

View logs

@cloudflare-workers-and-pages
Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
❌ Deployment failed
View logs
aiservices cb754b2 Mar 15 2026, 01:00 PM

Copy link
Copy Markdown

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've found 2 issues, and left some high level feedback:

  • The Google Search Console verification meta tag is duplicated across three HTML entrypoints with a placeholder value; consider centralizing this in a config/env-driven template or a single layout to avoid having to update multiple files when adding the real verification token.
  • The sitemap.xml files are duplicated in three locations with identical hardcoded values (including a fixed lastmod date); it may be more maintainable to generate these from a single source or script to keep them in sync as URLs or dates change.
  • The new robots.txt files are currently empty in the diff; if that’s unintended, add explicit crawl rules (e.g., allowing public paths and blocking any sensitive ones) so search engines behave as expected.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The Google Search Console verification meta tag is duplicated across three HTML entrypoints with a placeholder value; consider centralizing this in a config/env-driven template or a single layout to avoid having to update multiple files when adding the real verification token.
- The sitemap.xml files are duplicated in three locations with identical hardcoded values (including a fixed lastmod date); it may be more maintainable to generate these from a single source or script to keep them in sync as URLs or dates change.
- The new robots.txt files are currently empty in the diff; if that’s unintended, add explicit crawl rules (e.g., allowing public paths and blocking any sensitive ones) so search engines behave as expected.

## Individual Comments

### Comment 1
<location path="docs/index.html" line_range="11" />
<code_context>
+    <!-- Google Search Console Verification:
+         To verify your site, replace the placeholder below with your actual verification code from
+         https://search.google.com/search-console/welcome -->
+    <meta name="google-site-verification" content="REPLACE_WITH_YOUR_VERIFICATION_CODE" />
     <script type="module" crossorigin src="./assets/index-Bw8-E8pg.js"></script>
     <link rel="stylesheet" crossorigin href="./assets/index-DstyqnXu.css">
</code_context>
<issue_to_address>
**issue (bug_risk):** Leaving the placeholder verification token in production will prevent Google Search Console verification.

If this file is deployed as-is, the placeholder value will cause verification to fail or verify the wrong property. Consider adding an environment-specific substitution step for this tag, or ensuring the meta is omitted/updated in production builds.
</issue_to_address>

### Comment 2
<location path="docs/sitemap.xml" line_range="5" />
<code_context>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+  <url>
+    <loc>https://yendoukoa.ai/</loc>
+    <lastmod>2026-03-15</lastmod>
+    <changefreq>monthly</changefreq>
+    <priority>1.0</priority>
</code_context>
<issue_to_address>
**suggestion:** Hardcoding a fixed lastmod date can quickly become stale and misleading for crawlers.

A fixed `lastmod` means the sitemap won’t reflect future content changes, reducing its value for search engines. Consider generating this value at build/deploy time (e.g., from the latest commit or release date) so it stays accurate.

Suggested implementation:

```
    <lastmod>{{LASTMOD_DATE}}</lastmod>

```

To fully implement the suggestion, you’ll also need to:
1. Update your build/deploy pipeline to replace `{{LASTMOD_DATE}}` with an appropriate ISO 8601 date string (e.g., `YYYY-MM-DD`).
   - For example, in a shell-based build script you might compute the date from the latest commit: `LASTMOD_DATE=$(git log -1 --format=%cs)` and then run `sed -i "s/{{LASTMOD_DATE}}/${LASTMOD_DATE}/" docs/sitemap.xml`.
2. Ensure that this replacement runs on every build or deploy so that `lastmod` stays in sync with your latest content or release.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

<!-- Google Search Console Verification:
To verify your site, replace the placeholder below with your actual verification code from
https://search.google.com/search-console/welcome -->
<meta name="google-site-verification" content="REPLACE_WITH_YOUR_VERIFICATION_CODE" />
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

issue (bug_risk): Leaving the placeholder verification token in production will prevent Google Search Console verification.

If this file is deployed as-is, the placeholder value will cause verification to fail or verify the wrong property. Consider adding an environment-specific substitution step for this tag, or ensuring the meta is omitted/updated in production builds.

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yendoukoa.ai/</loc>
<lastmod>2026-03-15</lastmod>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

suggestion: Hardcoding a fixed lastmod date can quickly become stale and misleading for crawlers.

A fixed lastmod means the sitemap won’t reflect future content changes, reducing its value for search engines. Consider generating this value at build/deploy time (e.g., from the latest commit or release date) so it stays accurate.

Suggested implementation:

    <lastmod>{{LASTMOD_DATE}}</lastmod>

To fully implement the suggestion, you’ll also need to:

  1. Update your build/deploy pipeline to replace {{LASTMOD_DATE}} with an appropriate ISO 8601 date string (e.g., YYYY-MM-DD).
    • For example, in a shell-based build script you might compute the date from the latest commit: LASTMOD_DATE=$(git log -1 --format=%cs) and then run sed -i "s/{{LASTMOD_DATE}}/${LASTMOD_DATE}/" docs/sitemap.xml.
  2. Ensure that this replacement runs on every build or deploy so that lastmod stays in sync with your latest content or release.

Sign up for free to 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.

1 participant