Skip to content

About

Airlines Group Travel promo site for Codeberg Pages (airlinesgrouptravel.codeberg.page): SEO schema, breadcrumbs, sitemap, llms.txt, OG/Twitter cards, leads admin

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

Repository files navigation

AGT Codeberg — Airlines Group Travel promo site

A static, SEO-optimised promotion website for Airlines Group Travel, published on Codeberg Pages at https://airlinesgrouptravel.codeberg.page.

Brand Airlines Group Travel (AGT)
Operated by Airfare Services USA LLC, 8 The Green, Suite A, Dover, DE 19901, USA
Parent website https://www.airlinesgrouptravel.com
Helpline (24/7) +1-888-609-1015
Email info@airlinesgrouptravel.com
Purpose Promote group flight bookings (10+ travelers), capture quote leads, and build brand signals and backlinks for the parent site

This GitHub repo (AGT-Codeberg) is the source of truth. Codeberg serves a copy of it (see Publishing).


What's inside

.
├── index.html                 Home (hero + quote form, services, FAQ teaser)
├── group-flights/index.html   Service page (Service schema)
├── about/index.html           AboutPage
├── faq/index.html             FAQPage (10 Q&As, FAQPage schema)
├── contact/index.html         ContactPage + quote form
├── privacy-policy/ terms/     Legal pages
├── 404.html                   Custom not-found page (noindex)
├── admin/index.html           Private admin: Leads + Blog tabs (noindex, blocked in robots.txt)
├── blog/                      Blog index, posts (blog/<slug>/), posts.json, feed.xml — written by the admin
├── _templates/                Page templates the blog admin fills in (generated by build.py)
├── assets/css/style.css       All styles (no frameworks, no web fonts)
├── assets/js/config.js        ← set the leads endpoint here
├── assets/js/main.js          Mobile nav, quote form submit / mailto fallback
├── assets/js/admin.js         Leads dashboard (search, filter, status, notes, CSV export)
├── assets/js/blog-admin.js    Blog editor (Quill rich text) that publishes to Codeberg
├── assets/blog/               Blog images uploaded from the admin
├── assets/img/                OG/Twitter card image, app icons, logo
├── favicon.ico / favicon.svg / apple-touch-icon.png / site.webmanifest
├── robots.txt  sitemap.xml  llms.txt  llms-full.txt  humans.txt
├── .well-known/security.txt
├── backend/Code.gs            Google Apps Script: lead storage + admin API
├── backend/README.md          Backend setup guide
├── build.py                   Generates all pages + SEO files (edit content here)
└── scripts/make_images.py     Regenerates favicon/icons/OG image (needs Pillow)

SEO and ranking features checklist

Area Implementation
Titles and meta descriptions Unique per page, keyword-led, within length limits
Canonical URLs <link rel="canonical"> on every indexable page
Structured data (JSON-LD @graph) TravelAgency (organization, address, 24/7 hours, contactPoint, sameAs → parent site + socials), WebSite, WebPage/AboutPage/ContactPage/FAQPage, BreadcrumbList, Service
Breadcrumbs Visible breadcrumb nav on every inner page plus BreadcrumbList schema
Sitemap sitemap.xml index → sitemap-pages.xml (build.py) + sitemap-blog.xml (blog admin), with lastmod and image entries
Blog SEO Static HTML per post, BlogPosting + BreadcrumbList schema, Blog schema on the index, og:type=article with published/modified times and tags, per-post Twitter card image, RSS feed (/blog/feed.xml), related posts, lazy-loaded images, built-in SEO checklist in the editor
robots.txt Allows all crawlers, explicitly welcomes AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended…), blocks /admin/, and points to the sitemap
AI / LLM discovery llms.txt (summary + page index) and llms-full.txt (all page text); linked from <head>
Open Graph Title, description, URL, 1200×630 image with alt text, locale
Twitter / X card summary_large_image, @airgrouptravel as site and creator
Favicon set favicon.ico (16/32/48), favicon.svg, apple-touch-icon.png, 192/512 and maskable PWA icons, site.webmanifest, theme-color
International / local lang="en-US", hreflang en-us + x-default, geo.region US-DE
Performance (Core Web Vitals) No frameworks, no web fonts, one CSS file and small deferred JS; hashed ?v= cache busting
Mobile Responsive layout, mobile menu, sticky click-to-call button, no horizontal scroll
Accessibility Skip link, semantic landmarks, labelled form fields, aria-current, focus styles, reduced-motion support
E-E-A-T and trust Legal entity, physical address, phone, email, founding year, privacy and terms pages, airline non-affiliation disclaimer
Internal linking Header, footer and in-content links between all pages
Brand entity links sameAs and footer links to the parent site and all social profiles (rel="me")
Verification Add Google / Bing / Yandex tokens in SITE in build.py
Other humans.txt, security.txt, custom 404, format-detection for phone links

Editing content

All copy, contact details and page settings live in build.py (SITE, FAQS, GROUP_TYPES, AIRLINES and the *_BODY blocks). After editing, run:

python3 build.py

This rewrites every HTML page plus sitemap.xml, robots.txt, llms.txt, llms-full.txt, site.webmanifest, humans.txt and security.txt. It updates the lastmod dates and asset versions too. Always commit the generated files.

To change the logo or social image, edit scripts/make_images.py and run:

python3 -m pip install pillow && python3 scripts/make_images.py

Preview locally:

python3 -m http.server 8765

Then open http://localhost:8765.

Lead capture and admin

  • Frontend: the quote forms on Home, Group Flights and Contact send leads to the Google Apps Script endpoint set in assets/js/config.js. Until you set it, the form opens the visitor's email app addressed to info@airlinesgrouptravel.com, so no lead is lost.
  • Admin: https://airlinesgrouptravel.codeberg.page/admin/. Sign in with your ADMIN_KEY to view, search and filter leads, change their status (New → Contacted → Quoted → Booked / Lost / Archived), add notes and export CSV.
  • Setup: see backend/README.md.

Blog

Write and publish posts at /admin/ → 📝 Blog:

  1. Connect with a Codeberg access token that has repository: Read and write for the pages repo (Codeberg → Settings → Applications). It's kept only in that browser tab.

  2. Click + New post and fill in the title, URL slug, meta description, date, author, tags, featured image and alt text. Write the content in the rich text editor: headings, lists, links, quotes, images and video.

  3. Publish commits everything in one go and the live site updates within a minute or two:

    • the post page (blog/<slug>/index.html)
    • blog/index.html, blog/feed.xml and sitemap-blog.xml
    • llms.txt and llms-full.txt
    • any images, which are resized and saved to assets/blog/

    Save as draft keeps a post off the site. Unpublish takes a live post offline. Delete removes it.

  4. A post's URL is locked once it has been published, so existing links never break.

Notes:

  • Drafts are stored in blog/posts.json, which is public. Don't put anything confidential in a draft.
  • After changing the site layout in build.py (header, footer, styles), push, then click Rebuild all pages in the Blog tab to refresh every post.

Keeping GitHub and your computer in sync

The blog admin commits directly to Codeberg, so Codeberg becomes the most up-to-date copy.

  • Codeberg's git-pages server only deploys the pages branch, so the site and blog admin use pages on Codeberg. Locally the branch is still main, and git push codeberg is configured to push main → pages (git config remote.codeberg.push refs/heads/main:refs/heads/pages).
  • The Codeberg repo needs a webhook (Settings → Webhooks → Forgejo): Target URL https://airlinesgrouptravel.codeberg.page, POST, application/json, Push events, Branch filter pages.
  • Before editing locally, always pull first:
    git pull codeberg pages
    Then push to both remotes:
    git push codeberg && git push origin main
  • Recommended: set up an automatic push mirror so GitHub updates by itself. In the Codeberg repo, open Settings → Repository → Mirror settings → Push mirror and fill in:
    • Git remote repository URL: https://github.com/alphaneeraj/AGT-Codeberg.git
    • Username: alphaneeraj
    • Password: a GitHub fine-grained token with Contents: Read and write on AGT-Codeberg
    • Tick "Sync when new commits are pushed".

Publishing to Codeberg Pages

Codeberg serves https://<user>.codeberg.page from a repo named pages owned by that user.

  1. Create (or sign in to) the Codeberg account airlinesgrouptravel.
  2. Create an empty public repo named pages under that account.
  3. From this folder:
    git remote add codeberg https://codeberg.org/airlinesgrouptravel/pages.git
    git push codeberg main:pages
  4. Wait a minute or two, then open https://airlinesgrouptravel.codeberg.page.

See Keeping GitHub and your computer in sync above.

After launch

  1. Google Search Console: add the URL-prefix property https://airlinesgrouptravel.codeberg.page/, verify with the HTML-tag method (put the token in build.py → google_site_verification), then submit sitemap.xml.
  2. Bing Webmaster Tools: import from GSC or verify with bing_site_verification, then submit the sitemap.
  3. Validate the schema with the Rich Results Test (https://search.google.com/test/rich-results) and the Schema Markup Validator (https://validator.schema.org/).
  4. Check the social cards with the LinkedIn Post Inspector and the Facebook Sharing Debugger.
  5. Link to this site from the parent site and social profiles to strengthen the entity connection.

Compliance notes

  • Airlines Group Travel is an independent agency. The footer disclaimer states that it is not affiliated with any airline, and the site uses no airline logos.
  • The site shows no reviews or ratings markup, because self-serving review schema breaks Google's guidelines. Add real, verifiable reviews on the parent site instead.
  • Have the Privacy Policy and Terms reviewed by your legal adviser before launch.

About

Airlines Group Travel promo site for Codeberg Pages (airlinesgrouptravel.codeberg.page): SEO schema, breadcrumbs, sitemap, llms.txt, OG/Twitter cards, leads admin

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages