SEO Architect
Run ID: 69cc2f5efdffe128046c56112026-03-31SEO & Growth
PantheraHive BOS
BOS Dashboard

Design a complete SEO site architecture including URL structure, internal linking strategy, content silos, hub-and-spoke models, and technical SEO specifications. Perfect for new sites or major redesigns.

SEO Site Architecture Design: Comprehensive Strategy

This document outlines a comprehensive SEO site architecture strategy designed to optimize search engine visibility, enhance user experience, and establish strong topical authority for a new website or a major redesign. A robust site architecture is foundational for long-term organic search success.


1. Executive Summary

A well-planned SEO site architecture is critical for search engines to efficiently crawl, understand, and rank your content, while simultaneously providing users with an intuitive and logical navigation experience. This strategy focuses on creating a hierarchical, keyword-rich, and technically sound structure through optimized URL design, strategic internal linking, content siloing, and the implementation of hub-and-spoke models. Technical SEO specifications are integrated throughout to ensure optimal crawlability, indexability, and overall site performance.


2. Core Principles of SEO Site Architecture

Our design is guided by the following principles:

  • User-Centricity: Easy and intuitive navigation for all users.
  • Crawlability & Indexability: Ensuring search engines can discover, access, and understand all important content.
  • Authority Flow (PageRank Sculpting): Strategically distributing link equity from high-authority pages to other valuable pages.
  • Topical Relevance: Grouping related content to establish expertise and authority on specific subjects.
  • Scalability: Designing a structure that can easily accommodate future content expansion without requiring major overhauls.
  • Performance: Ensuring the architecture supports fast loading times and a smooth mobile experience.

3. URL Structure Design

A clean, logical, and keyword-rich URL structure is fundamental for both search engines and users.

3.1. General Principles:

  • Readability: URLs should be easily understandable by humans.
  • Keyword Inclusion: Incorporate target keywords naturally where appropriate.
  • Hierarchy Reflection: URLs should reflect the site's logical hierarchy.
  • Conciseness: Keep URLs as short as possible while remaining descriptive.
  • Static: Avoid dynamic parameters where possible; use clean, static URLs.
  • Consistency: Maintain a consistent format across the entire site.

3.2. Recommended Format:

[domain.com]/[category]/[subcategory]/[primary-keyword-page-title]/

3.3. Best Practices:

  • Use Hyphens: Separate words with hyphens (-) for readability (e.g., best-running-shoes).
  • Lowercase: All characters in URLs should be lowercase.
  • Avoid Stop Words: Omit common words like "a," "the," "and," "of" unless essential for meaning or keyword integrity.
  • Consistent Trailing Slashes: Decide on a consistent approach (e.g., always include trailing slash or never) and implement 301 redirects for the non-preferred version.
  • Avoid Special Characters: Stick to alphanumeric characters and hyphens.
  • Flat Hierarchy: Aim for important content to be no more than 3-5 clicks from the homepage.

3.4. Examples:

  • Homepage: https://www.example.com/
  • Category Page: https://www.example.com/mens-apparel/
  • Subcategory Page: https://www.example.com/mens-apparel/t-shirts/
  • Product/Article Page: https://www.example.com/mens-apparel/t-shirts/graphic-tee-summer-adventure/
  • Blog Category: https://www.example.com/blog/seo-guides/
  • Blog Post: https://www.example.com/blog/seo-guides/beginners-guide-keyword-research/

4. Content Siloing Strategy

Content siloing involves organizing related content into distinct, thematic groups to establish topical authority and improve search engine understanding of the site's expertise.

4.1. Concept:

A "silo" is a collection of closely related pages that are internally linked only to each other within that group, or to a main "pillar" or "category" page for that silo. This creates a clear signal to search engines about the primary topic of the silo and helps concentrate link equity within related content.

4.2. Benefits:

  • Enhanced Topical Relevance: Clearly signals the site's expertise on specific subjects.
  • Improved Keyword Rankings: Helps pages rank for a wider range of related keywords, including competitive head terms.
  • Better User Experience: Users can easily find comprehensive information on a topic.
  • Efficient Link Equity Distribution: Keeps "SEO juice" flowing within relevant content clusters.

4.3. Implementation Methods:

  • Directory-Based (Physical) Siloing (Recommended):

* The most powerful method, using the URL structure to create clear topical directories.

* Example:

* /mens-shoes/ (Category Page/Silo Hub)

* /mens-shoes/running/ (Subcategory Page)

* /mens-shoes/running/nike-pegasus/ (Product Page)

* /mens-shoes/casual/ (Subcategory Page)

* /mens-shoes/casual/leather-loafers/ (Product Page)

  • Internal Link (Virtual) Siloing:

* Achieved purely through internal linking, where pages within a silo only link to other pages in the same silo or up to the silo's main hub page. Less effective than directory-based but useful for existing flat structures.

4.4. Silo Structure Example:

  • Top Level (Homepage): www.example.com
  • Silo 1 (Category): www.example.com/digital-marketing/

* Sub-Silo 1.1: www.example.com/digital-marketing/seo/

* www.example.com/digital-marketing/seo/keyword-research-guide/

* www.example.com/digital-marketing/seo/on-page-optimization/

* www.example.com/digital-marketing/seo/technical-seo-checklist/

* Sub-Silo 1.2: www.example.com/digital-marketing/ppc/

* www.example.com/digital-marketing/ppc/google-ads-setup/

* www.example.com/digital-marketing/ppc/facebook-ads-strategy/

  • Silo 2 (Category): www.example.com/content-marketing/

* ...and so on.


5. Hub-and-Spoke Model (Pillar Content Strategy)

The Hub-and-Spoke model is an advanced content strategy that works in conjunction with siloing to establish deep topical authority.

5.1. Concept:

  • Hub Page (Pillar Content): A comprehensive, authoritative page that broadly covers a significant topic. It targets a broad head term (e.g., "Digital Marketing").
  • Spoke Pages (Cluster Content): More specific, detailed articles that dive deep into sub-topics related to the hub. They target long-tail keywords (e.g., "Beginner's Guide to Keyword Research," "Advanced Google Ads Bid Strategies").

5.2. Benefits:

  • Strong Topical Authority: Signals to search engines that the site has extensive knowledge on a subject.
  • Improved Rankings: Hub pages gain authority from spokes, and spokes gain relevance from the hub, leading to better rankings for both broad and long-tail terms.
  • Enhanced User Engagement: Provides a clear path for users to explore a topic in depth.
  • Efficient Link Equity Flow: Centralizes authority around the hub page.

5.3. Implementation:

  • Hub Page Characteristics:

* Long-form content (typically 2,000+ words).

* Covers a broad topic comprehensively but at a high level.

Links out* to all relevant spoke pages using descriptive anchor text.

Does not* link out to other hub pages directly (unless highly relevant and not within the same silo).

* Ideally, resides at a top-level URL within its silo (e.g., domain.com/digital-marketing/).

  • Spoke Page Characteristics:

* Detailed articles (typically 500-1,500 words) on specific sub-topics.

Each spoke page links back* to its parent hub page using relevant, keyword-rich anchor text.

Spoke pages can link to other highly relevant spoke pages within the same cluster* if beneficial for user experience and context.

* Should avoid linking to spoke pages in other clusters/silos unless absolutely necessary and highly contextual.

5.4. Example:

  • Hub Page: https://www.example.com/digital-marketing/ (Comprehensive guide to digital marketing)

* Spoke 1: https://www.example.com/digital-marketing/seo-best-practices/ (Links to Hub: "Learn more about SEO in our Digital Marketing Guide")

* Spoke 2: https://www.example.com/digital-marketing/ppc-campaign-strategy/ (Links to Hub: "Understand PPC's role in the broader Digital Marketing landscape")

* Spoke 3: https://www.example.com/digital-marketing/social-media-marketing-guide/ (Links to Hub: "Explore Social Media Marketing as part of your Digital Marketing efforts")

gemini Output

SEO Site Architecture Design for Eco-Living Hub

This document outlines a comprehensive SEO site architecture designed for "Eco-Living Hub," a hypothetical platform focused on sustainable living and eco-friendly products. This architecture is built to maximize search engine visibility, enhance user experience, and establish authority within the sustainable living niche.


1. Core Principles of SEO Site Architecture

The design of Eco-Living Hub's site architecture is guided by the following principles:

  • Clarity & Logic: A clear, intuitive structure that users and search engines can easily navigate.
  • Topical Authority: Grouping related content to establish deep expertise on specific subjects (silos).
  • Crawlability & Indexability: Ensuring all important content is easily discovered and processed by search engine bots.
  • User Experience (UX): A fast, mobile-friendly, and engaging experience that encourages longer dwell times and lower bounce rates.
  • Scalability: A flexible structure that can easily accommodate future content expansion.
  • Keyword Optimization: Integrating target keywords strategically within URLs, content, and internal links.

2. URL Structure Design

A clean, hierarchical, and keyword-rich URL structure is crucial for both SEO and user experience.

General Guidelines:

  • Short & Descriptive: URLs should be concise yet clearly indicate the page's content.
  • Keyword Inclusion: Integrate primary keywords naturally, avoiding keyword stuffing.
  • Hyphens for Separation: Use hyphens (-) to separate words, not underscores (_).
  • Lowercase Only: All URLs should be lowercase to prevent duplicate content issues.
  • No Trailing Slashes (Consistency): Decide on a consistent approach (e.g., always include or always omit trailing slashes for non-homepage URLs) and implement 301 redirects for the non-preferred version.
  • Logical Hierarchy: Reflect the site's structure in the URL path.

Proposed URL Structure Examples:

  • Homepage: https://www.ecolivinghub.com/
  • Main Category Pages (Silos):

* https://www.ecolivinghub.com/sustainable-home/

* https://www.ecolivinghub.com/eco-friendly-fashion/

* https://www.ecolivinghub.com/zero-waste-living/

* https://www.ecolivinghub.com/sustainable-food-drink/

* https://www.ecolivinghub.com/green-energy-solutions/

  • Sub-Category Pages:

* https://www.ecolivinghub.com/sustainable-home/eco-friendly-cleaning/

* https://www.ecolivinghub.com/eco-friendly-fashion/ethical-brands/

* https://www.ecolivinghub.com/zero-waste-living/plastic-free-alternatives/

  • Product Pages (if applicable, assuming an e-commerce component):

* https://www.ecolivinghub.com/sustainable-home/eco-friendly-cleaning/reusable-silicone-food-bags/

* https://www.ecolivinghub.com/eco-friendly-fashion/ethical-brands/organic-cotton-t-shirt/

  • Blog/Article Pages (within a silo or a general "Guides" section):

* https://www.ecolivinghub.com/guides/sustainable-home/diy-natural-cleaners-recipes/

* https://www.ecolivinghub.com/guides/zero-waste-living/how-to-start-a-compost-bin/

* https://www.ecolivinghub.com/product-reviews/best-eco-friendly-laundry-detergents/

  • Static Pages:

* https://www.ecolivinghub.com/about-us/

* https://www.ecolivinghub.com/contact-us/

* https://www.ecolivinghub.com/privacy-policy/


3. Content Silo Strategy

Content silos are fundamental for establishing topical authority and guiding link equity. They involve grouping highly related content together and isolating it from unrelated topics.

Purpose:

  • Topical Authority: Signals to search engines that Eco-Living Hub is an expert on specific subjects.
  • Improved Relevancy: Ensures that internal links pass relevant authority within a specific topic.
  • Enhanced User Experience: Helps users find comprehensive information on a single topic.

Silo Identification for Eco-Living Hub:

Based on keyword research and user intent analysis, the following primary content silos are proposed:

  1. Sustainable Home:

Sub-topics:* Eco-friendly cleaning, sustainable decor, energy efficiency, smart home, gardening.

  1. Eco-Friendly Fashion:

Sub-topics:* Ethical brands, sustainable materials, slow fashion, upcycling, capsule wardrobes.

  1. Zero Waste Living:

Sub-topics:* Plastic-free alternatives, composting, recycling guides, minimal consumption, DIY products.

  1. Sustainable Food & Drink:

Sub-topics:* Plant-based diets, local sourcing, organic produce, food waste reduction, sustainable recipes.

  1. Green Energy Solutions:

Sub-topics:* Solar power, wind energy, energy conservation, electric vehicles, smart grids.

  1. Eco-Travel:

Sub-topics:* Sustainable destinations, responsible tourism, eco-lodges, carbon offsetting, packing tips.

  1. Health & Wellness (Sustainable):

Sub-topics:* Natural beauty, non-toxic products, mindful living, sustainable fitness.

  1. Product Reviews & Guides:

Sub-topics:* Specific reviews of eco-products, buying guides, comparison articles. (This can also be integrated into other silos as sub-categories).

Implementation:

  • Directory-Based Silos: The primary method for Eco-Living Hub will be directory-based, where URLs reflect the silo structure (e.g., /sustainable-home/, /eco-friendly-fashion/).
  • Internal Linking: Crucially, pages within a silo will heavily link to each other, and to the main silo page. Cross-silo linking will be minimized unless contextually essential and strategically controlled to avoid diluting topical authority.

4. Hub-and-Spoke Model Implementation

The Hub-and-Spoke model is an advanced content strategy that works in conjunction with silos to establish even deeper topical authority and funnel link equity efficiently.

Definition:

  • Hub Page (Pillar Content): A comprehensive, authoritative piece of content that covers a broad topic within a silo. It targets a high-volume, broad keyword and provides a high-level overview.
  • Spoke Pages (Supporting Content): Detailed, specific articles that dive deep into sub-topics mentioned or briefly covered in the hub page. They target long-tail keywords.

Purpose:

  • Consolidated Authority: Establishes the hub page as the ultimate resource for a broad topic.
  • Improved Rankings: Helps both hub and spoke pages rank higher due to strong internal linking.
  • Enhanced User Journey: Guides users through related content, improving engagement.

Example Hub-and-Spoke for "Sustainable Home" Silo:

Silo: Sustainable Home (https://www.ecolivinghub.com/sustainable-home/)

Sub-Silo/Category: Eco-Friendly Cleaning (https://www.ecolivinghub.com/sustainable-home/eco-friendly-cleaning/)

  • Hub Page Example:

* Title: The Ultimate Guide to Eco-Friendly Cleaning for a Healthier Home

* URL: https://www.ecolivinghub.com/sustainable-home/eco-friendly-cleaning/ultimate-guide-to-eco-friendly-cleaning/

* Content: A comprehensive overview covering benefits, common toxins, DIY recipes, top brands, cleaning tools, and sustainable habits.

  • Spoke Pages Examples (linking to and from the Hub):

* Spoke 1: DIY Natural Cleaners: Recipes for Every Room

* URL: https://www.ecolivinghub.com/sustainable-home/eco-friendly-cleaning/diy-natural-cleaners-recipes/

* Content: Detailed recipes for kitchen, bathroom, glass, and floor cleaners using natural ingredients.

* Spoke 2: Top 10 Non-Toxic & Sustainable Cleaning Brands Reviewed

* URL: https://www.ecolivinghub.com/sustainable-home/eco-friendly-cleaning/best-non-toxic-cleaning-brands/

* Content: In-depth reviews and comparisons of leading eco-friendly cleaning product brands.

* Spoke 3: Sustainable Laundry Tips: From Detergents to Drying

* URL: https://www.ecolivinghub.com/sustainable-home/eco-friendly-cleaning/sustainable-laundry-tips/

* Content: Focus on eco-friendly detergents, laundry habits, drying methods, and stain removal.

* Spoke 4: Air Purifying Plants for a Naturally Cleaner Home

* URL: https://www.ecolivinghub.com/sustainable-home/eco-friendly-cleaning/air-purifying-plants/

* Content: List and benefits of plants that help improve indoor air quality.

Internal Linking within Hub-and-Spoke:

  • Hub to Spokes: The Hub page will link to all its supporting Spoke pages with descriptive anchor text.
  • Spokes to Hub: Every Spoke page will link back to its respective Hub page with a clear, keyword-rich anchor text (e.g., "Learn more about eco-friendly cleaning in our ultimate guide").
  • Spokes to Spokes (Contextual): Spoke pages can link to other highly relevant Spoke pages within the same Hub-and-Spoke model, but only when it adds genuine value and context.

5. Internal Linking Strategy

A robust internal linking strategy is critical for distributing link equity, improving crawlability, and enhancing user navigation.

Key Components:

  • Contextual Links:

* Implementation: Within the body text of articles, link to other relevant pages using keyword-rich anchor text. Prioritize linking to deeper pages from higher-level pages (e.g., category pages linking to product pages, hub pages linking to spoke pages).

* Anchor Text: Should be descriptive and relevant to the linked page's content, ideally including target keywords. Avoid generic "click here."

* Relevance: Only link when genuinely helpful to the user and relevant to the content.

  • Navigational Links:

* Main Menu (Global Navigation): Prominently feature top-level silo pages (e.g., "Sustainable Home," "Eco-Friendly Fashion"). This passes significant link equity.

* Footer Navigation: Include important but less critical pages (e.g., "About Us," "Contact," "Privacy Policy," "Sitemap," key categories).

* Sidebar Navigation (Contextual): Can be used within specific silos to highlight sub-categories or popular articles within that silo.

  • Breadcrumbs:

* Implementation: Implement breadcrumbs on all pages (except the homepage) to show the user's current location within the site hierarchy.

* Format: Home > Category > Sub-Category > Current Page

* SEO Benefit: Provides clear navigational cues, improves user experience, and offers additional internal links with descriptive anchor text. Implement with Schema Markup (BreadcrumbList).

  • "Related Posts" / "Further Reading" Sections:

* Implementation: At the end of blog posts or articles, suggest 3-5 highly relevant articles from the same silo or hub-and-spoke.

* Benefit: Increases page views, reduces bounce rate, and strengthens internal linking within a topic.

  • Link Depth:

* Goal: Ensure that all important pages are reachable within 3-4 clicks from the homepage. Deeper pages receive less link equity.

* Monitoring: Regularly audit link depth using tools like Screaming Frog or Google Search Console.


6. Technical SEO Specifications

Solid technical SEO ensures that search engines can efficiently crawl, index, and understand Eco-Living Hub's content.

6.1. Crawlability & Indexability

  • Robots.txt:

* Purpose: Directs search engine crawlers, preventing access to non-essential or private areas (e.g., admin pages, search result pages, duplicate content).

* Specification: Located at https://www.ecolivinghub.com/robots.txt. Clearly Disallow paths that should not be crawled.

* Example:



gemini Output

SEO Site Architecture Design: Comprehensive Strategy

This document outlines a comprehensive SEO site architecture strategy designed to maximize organic visibility, user experience, and crawlability for your website. This architecture is built upon best practices in URL structuring, internal linking, content organization, and technical SEO, ensuring a robust foundation for long-term search engine success.


1. Executive Summary

A well-planned SEO site architecture is the backbone of a high-performing website. It dictates how search engines crawl, index, and understand your content, while also guiding users through a logical and intuitive journey. This strategy focuses on creating a hierarchical, topic-driven structure that consolidates authority, distributes link equity effectively, and enhances overall site usability. By implementing the recommendations herein, your site will be optimized for superior search engine performance and a seamless user experience.


2. Core Principles of SEO Site Architecture

The following principles underpin the entire architectural design:

  • Hierarchy & Logic: A clear, shallow, and logical structure that allows users and search engines to easily understand the relationship between pages.
  • Topical Authority: Grouping related content to build deep topical authority around core subjects, signaling expertise to search engines.
  • Crawlability & Indexability: Ensuring all important pages are easily discoverable and accessible by search engine crawlers.
  • User Experience (UX): Prioritizing intuitive navigation and a seamless journey for human visitors.
  • Scalability: Designing a structure that can easily expand with new content and products/services without compromising SEO value.
  • Link Equity Flow: Strategically distributing "link juice" from high-authority pages to other important pages throughout the site.

3. URL Structure Design

A clean, descriptive, and consistent URL structure is critical for SEO and user experience.

Principles:

  • Readability: URLs should be human-readable and instantly convey the page's content.
  • Keyword Inclusion: Incorporate relevant keywords where natural and appropriate, but avoid keyword stuffing.
  • Hierarchy Reflection: URLs should reflect the site's logical hierarchy.
  • Static & Persistent: URLs should ideally remain static over time. Avoid dynamic parameters where possible.
  • Hyphens for Separators: Use hyphens (-) as word separators, not underscores (_).
  • Lowercase: All URLs should be lowercase to prevent duplicate content issues.
  • Conciseness: Keep URLs as short as possible while remaining descriptive.

Recommended Structure Examples (for an Outdoor Gear E-commerce Site):

  • Homepage: https://www.yourdomain.com/
  • Category Page: https://www.yourdomain.com/camping-gear/

Example:* https://www.yourdomain.com/hiking-boots/

  • Sub-Category Page: https://www.yourdomain.com/camping-gear/tents/

Example:* https://www.yourdomain.com/hiking-boots/mens/

  • Product Page: https://www.yourdomain.com/camping-gear/tents/expedition-tent-pro-5000/

Example:* https://www.yourdomain.com/hiking-boots/mens/trekker-pro-gtx/

  • Blog Category Page: https://www.yourdomain.com/blog/hiking-tips/
  • Blog Post Page: https://www.yourdomain.com/blog/hiking-tips/how-to-choose-a-backpack/
  • Service Pages (if applicable): https://www.yourdomain.com/services/gear-rental/
  • Static Pages (About Us, Contact, etc.): https://www.yourdomain.com/about-us/

Canonicalization Considerations:

  • Ensure each unique piece of content has one canonical URL.
  • Use rel="canonical" tags to point to the preferred version of a page, especially for pages with sorting/filtering parameters that create duplicate content (e.g., https://www.yourdomain.com/hiking-boots/?color=blue should canonicalize to https://www.yourdomain.com/hiking-boots/).

4. Content Silo Strategy

Content silos are a method of organizing your site's content into distinct, thematically related sections. This strategy helps establish deep topical authority and improves link equity flow within specific subject areas.

Purpose:

  • Topical Authority: Signals to search engines that your site is an expert source for specific topics.
  • Improved Relevance: All pages within a silo reinforce each other's relevance.
  • Enhanced Crawlability: Search engines can more easily understand the relationships between pages.
  • Better User Experience: Users can navigate more easily through related content.

Implementation:

  1. Identify Core Topics (Silos): Based on your target audience, products/services, and keyword research, define your main thematic pillars.

Example (Outdoor Gear Site):*

* Camping Gear

* Hiking Gear

* Climbing Gear

* Water Sports

* Outdoor Apparel

* Survival & Bushcraft

  1. Physical Siloing (Directory Structure): Implement these silos directly in your URL structure.

* yourdomain.com/camping-gear/

* yourdomain.com/hiking-gear/

* yourdomain.com/climbing-gear/

  1. Virtual Siloing (Internal Linking):

* Top-Level Silo Page: Each silo should have a main "pillar" or "category" page that serves as the entry point. This page should provide an overview and link to all sub-categories and important content within that silo.

Strict Internal Linking: Pages within one silo should primarily link to other pages within the same silo*. Cross-silo linking should be used sparingly and only when highly relevant and necessary, to avoid diluting topical authority.

* Breadcrumbs: Implement breadcrumb navigation that reflects the silo structure (e.g., Home > Camping Gear > Tents > Expedition Tent Pro 5000).

Example Silo Structure (Camping Gear):

  • Silo Page (Camping Gear): https://www.yourdomain.com/camping-gear/

* Links to: Tents, Sleeping Bags, Camp Kitchen, Camping Furniture, Camping Lights.

* Links to: Blog posts like "Ultimate Guide to Camping Tents," "Best Campfire Recipes."

  • Sub-Category Page (Tents): https://www.yourdomain.com/camping-gear/tents/

* Links to: 1-Person Tents, Family Tents, Backpacking Tents, Expedition Tents.

* Links to: Specific tent products.

* Links to: Blog posts like "How to Choose the Right Tent," "Tent Maintenance Tips."

  • Product Page (Expedition Tent Pro 5000): https://www.yourdomain.com/camping-gear/tents/expedition-tent-pro-5000/

* Links to: Other related tents, "Customers also bought" items.

* Links to: Relevant blog posts (e.g., "Review of Expedition Tent Pro 5000," "Setting Up Your Tent in Inclement Weather").


5. Hub-and-Spoke Model for Content

The Hub-and-Spoke model (often used within or alongside silos) is a content strategy where a central "hub" page provides a comprehensive overview of a broad topic, linking out to more detailed "spoke" pages that delve into specific sub-topics. This strengthens the authority of the hub page and ensures thorough coverage of the subject.

Purpose:

  • Deep Topical Authority: Establishes your site as a definitive resource for a specific subject.
  • Improved Internal Linking: Creates a natural and effective internal linking structure.
  • Enhanced User Experience: Guides users from general overviews to specific details.
  • Better Ranking Potential: Hub pages often rank well for broad keywords, while spokes rank for long-tail variations.

Implementation:

  1. Identify Hub Topics: These are broad, high-volume keywords or core concepts related to your silos.

Example (within "Hiking Gear" Silo):* "Best Hiking Boots," "Backpacking Essentials," "Trail Navigation."

  1. Create Hub Page: Develop a comprehensive, long-form content piece (e.g., 2000-5000 words) for the hub topic. This page should define the topic, cover its major facets, and serve as an ultimate guide.

Hub Page Title:* "The Ultimate Guide to Choosing Hiking Boots"

URL:* https://www.yourdomain.com/blog/hiking-gear/ultimate-hiking-boot-guide/

  1. Develop Spoke Content: Create multiple, more specific articles or pages that delve into sub-topics introduced in the hub.

Spoke 1:* "Lightweight Hiking Boots vs. Heavy-Duty: Which is Right for You?"

Spoke 2:* "Understanding Hiking Boot Materials: Leather, Synthetics, and Waterproofing"

Spoke 3:* "The Best Hiking Boots for Wide Feet"

Spoke 4:* "Maintenance Tips for Extending the Life of Your Hiking Boots"

Spoke 5:* "Top 10 Hiking Boots for Women in 2024"

Spoke 6:* "Top 10 Hiking Boots for Men in 2024"

  1. Internal Linking:

Hub to Spokes: The hub page must* link to all relevant spoke pages using descriptive anchor text.

Spokes to Hub: All spoke pages must* link back to the main hub page, typically with anchor text like "Learn more about [Hub Topic]" or "Return to the Ultimate Guide to..."

* Spokes to Spokes (Contextual): Spokes can link to other highly relevant spokes within the same cluster if it adds value.

Example Hub & Spoke (Hiking Boots):

  • Hub Page: https://www.yourdomain.com/blog/hiking-gear/ultimate-hiking-boot-guide/

Content:* Introduction to hiking boots, types, materials, features, fitting, maintenance.

Links to:* All spoke pages using relevant anchor text (e.g., "Explore different hiking boot materials," "Find out about lightweight vs. heavy-duty boots").

  • Spoke Page (Materials): https://www.yourdomain.com/blog/hiking-gear/hiking-boot-materials/

Content:* Detailed breakdown of leather, synthetics, Gore-Tex, etc.

Links to:* The Hub page ("Return to The Ultimate Guide to Choosing Hiking Boots"), relevant product pages (e.g., specific Gore-Tex boots), and potentially other highly relevant spoke pages (e.g., "Waterproofing Hiking Boots").

  • Spoke Page (Best Boots for Men): https://www.yourdomain.com/blog/hiking-gear/best-hiking-boots-men/

Content:* Review and recommendations for men's hiking boots.

Links to:* The Hub page, specific product pages for recommended boots.


6. Internal Linking Strategy

Beyond silos and hub-and-spoke models, a comprehensive internal linking strategy ensures optimal link equity distribution and user navigation.

General Principles:

  • Contextual Relevance: Links should be naturally embedded within the content and relevant to the surrounding text.
  • Descriptive Anchor Text: Use keyword-rich, descriptive anchor text that accurately reflects the linked page's content. Avoid generic "click here."
  • Link Depth: Aim for a shallow site structure where important pages are reachable within 3-4 clicks from the homepage.
  • Avoid Orphan Pages: Every important page should have at least one incoming internal link.

Types of Internal Links:

  • Main Navigation (Global Navigation): The primary menu system (header, sidebar) should link to your most important category/silo pages. Keep it concise and user-friendly.
  • Footer Navigation: Can include links to less critical but important pages (e.g., "About Us," "Contact," "Privacy Policy," "Sitemap").
  • In-Content (Contextual) Links: The most powerful type of internal link. Embed links within the body of your articles, product descriptions, and static pages to related content.
  • Breadcrumbs: Essential for e-commerce and large sites, showing the user's current location within the hierarchy.
  • Related Posts/Products: Modules that suggest related content at the end of articles or on product pages.
  • "Customers Also Bought" / "You Might Also Like": E-commerce specific links that enhance UX and distribute link equity.

Best Practices:

  • Prioritize Important Pages: Link more frequently to pages you want to rank highly.
  • Audit Regularly: Use tools (e.g., Screaming Frog, Ahrefs, SEMrush) to identify broken links, orphan pages, and opportunities for improvement.
  • Noindex/Nofollow for Unimportant Pages: Use noindex for pages you don't want in search results (e.g., thank you pages, internal search results). Use nofollow sparingly for internal links, typically only for user-generated content or pages you explicitly don't want to pass link equity to.
  • Link to New Content: Actively link to new blog posts, products, or services from existing, high-authority pages to help them get indexed and gain initial traction.

7. Technical SEO Specifications

Technical SEO ensures your website is crawlable, indexable, and performant for search engines and users.

7.1. Crawlability & Indexability

  • Robots.txt:

* Purpose: Directs search engine crawlers on which parts of your site they can or cannot access.

* Specification:

* Locate at yourdomain.com/robots.txt.

* Disallow areas that are not meant for public search (e.g., /wp-admin/, /cart/, /checkout/, /search/).

* Include a link to your XML sitemap: Sitemap: https://www.yourdomain.com/sitemap.xml

  • XML Sitemaps:

* Purpose: Provides a list of all important pages on your site to

seo_architect.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}