Files
scha/schasite/templates/schasite/index2.html
T
westfarn 04c3ac913c
Unit Tests / test (push) Successful in 3s
SEO enhancement and agentic browsing updates (#18) (#27)
## Summary
Closes #18.

- Add per-page titles, meta descriptions, Open Graph/Twitter tags, and canonical URLs on public `base2.html` pages
- Improve semantic structure: skip link, primary nav ARIA, single `<main id="main-content">`, heading hierarchy, descriptive image alts
- Publish `/robots.txt`, `/sitemap.xml`, and `/llms.txt` (linked from site head via `rel="alternate"`)
- Agentic/a11y fixes: membership checkbox label associations, ZIP `name` attribute, layout stability (image aspect-ratio / min-height), footer year without `document.write`
- WebMCP deferred — membership + Stripe checkout remain standard HTML/Stripe flows; no audit flag justified custom MCP surface yet

## Lighthouse / agentic notes
Baseline Lighthouse runs still need Chrome Canary export on staging/prod. Structural SEO/a11y items from the ticket are implemented so follow-up audits can capture before/after scores.

Expected audit wins vs prior minimal `charset`+`viewport` head:
- SEO: unique titles/descriptions, crawl directives, sitemap
- Agentic/a11y: landmarks, labels, CLS-oriented image sizing

## Test plan
- [x] `uv run python manage.py test schasite` (34 passed)
- [ ] Spot-check Home/About/Calendar/Dues/Membership/Board/Links in browser
- [ ] Confirm `/robots.txt`, `/sitemap.xml`, `/llms.txt` on deployed host
- [ ] Run Lighthouse SEO + Agentic browsing on key pages and note before/after pass ratio on the issue

Reviewed-on: #27
2026-07-14 05:19:28 -07:00

164 lines
7.3 KiB
HTML

{% extends 'schasite/base2.html' %}
{% load static %}
{% block pagetitle %}
<title>Home | Stonehedge Community Homeowners Association</title>
<style type="text/css">
.hero-section {
background: url({% static 'images/header.gif' %});
height: 60vh;
display: flex;
background-repeat:no-repeat;
background-position: center center;
align-items: center;
justify-content: center;
flex-direction: column;
color: white;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
</style>
{% endblock %}
{% block meta_tags %}
<meta name="description" content="Welcome to Stonehedge Community Homeowners Association in Wheaton, IL. Pay dues, join as a member, find events, and meet the HOA board.">
{% endblock %}
{% block og_title %}Home | Stonehedge Community Homeowners Association{% endblock %}
{% block og_description %}Welcome to Stonehedge Community Homeowners Association in Wheaton, IL. Pay dues, join as a member, find events, and meet the HOA board.{% endblock %}
{% block twitter_title %}Home | Stonehedge Community Homeowners Association{% endblock %}
{% block twitter_description %}Welcome to Stonehedge Community Homeowners Association in Wheaton, IL. Pay dues, join as a member, find events, and meet the HOA board.{% endblock %}
{% block content %}
<!-- Hero Section -->
<section id="home" class="py-5 bg-success bg-opacity-10">
<div class="container py-5">
<div class="row align-items-center">
<div class="col-lg-8 mb-4 mb-lg-0">
<h1 class="display-4 fw-bold mb-3">Welcome to Stonehedge Community Homeowners Association</h1>
<p class="lead mb-4">A premier community dedicated to maintaining beautiful homes, safe neighborhoods, and a high quality of life for all residents.</p>
<a href="{% url 'about_us2' %}" class="btn btn-success btn-lg px-4">Learn More</a>
</div>
<!-- <div class="col-lg-4">
<img src="{% static 'images/header.gif' %}" alt="Stonehedge Community Homeowners Association" class="img-fluid rounded-circle shadow">
</div> -->
</div>
</div>
</section>
<!-- About Section -->
<section id="about" class="py-5">
<div class="container">
<h2 class="text-center text-success mb-5">About Our Community</h2>
<div class="row g-4">
<div class="col-md-6">
<div class="card h-100 shadow-sm">
<div class="card-body">
<h5 class="card-title"><a href="{% url 'dues2' %}">Pay Dues</a></h5>
<p class="card-text">Make sure to pay your dues</p>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card h-100 shadow-sm">
<div class="card-body">
<h5 class="card-title"><a href="{% url 'membership_form2' %}">Join</a></h5>
<p class="card-text">Fill out the membership form and be added to the mailing list</p>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card h-100 shadow-sm">
<div class="card-body">
<h5 class="card-title"><a href="{% url 'calendar2' %}">Events</a></h5>
<p class="card-text">Checkout out the upcoming and past events!</p>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card h-100 shadow-sm">
<div class="card-body">
<h5 class="card-title"><a href="{% url 'scha_board2' %}">HOA Board</a></h5>
<p class="card-text">Meet our elected board members who volunteer their time to maintain and improve our neighborhood.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Contact Section -->
<!-- <section id="contact" class="py-5 bg-success bg-opacity-10">
<div class="container">
<h2 class="text-center text-success mb-5">Contact Us</h2>
<div class="row g-4 mb-5">
<div class="col-md-6">
<div class="card h-100 text-center shadow-sm">
<div class="card-body py-4">
<i class="bi bi-envelope-fill text-success fs-1 mb-3"></i>
<h5 class="card-title">Email Us</h5>
<p class="card-text">board@greenwoodestates.org</p>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card h-100 text-center shadow-sm">
<div class="card-body py-4">
<i class="bi bi-telephone-fill text-success fs-1 mb-3"></i>
<h5 class="card-title">Call Us</h5>
<p class="card-text">(555) 123-4567</p>
<p class="card-text">Monday-Friday, 9am-5pm</p>
</div>
</div>
</div>
</div>
<div class="row justify-content-center">
<div class="col-lg-8">
<form class="needs-validation" novalidate>
<div class="row g-3">
<div class="col-md-6">
<label for="name" class="form-label">Name</label>
<input type="text" class="form-control" id="name" required>
<div class="invalid-feedback">
Please provide your name.
</div>
</div>
<div class="col-md-6">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email" required>
<div class="invalid-feedback">
Please provide a valid email.
</div>
</div>
<div class="col-12">
<label for="subject" class="form-label">Subject</label>
<input type="text" class="form-control" id="subject" required>
<div class="invalid-feedback">
Please provide a subject.
</div>
</div>
<div class="col-12">
<label for="message" class="form-label">Message</label>
<textarea class="form-control" id="message" rows="4" required></textarea>
<div class="invalid-feedback">
Please enter your message.
</div>
</div>
<div class="col-12 text-center">
<button class="btn btn-success btn-lg px-4" type="submit">
<i class="bi bi-send-fill me-2"></i>Send Message
</button>
</div>
</div>
</form>
</div>
</div>
</div> -->
</section>
{% endblock %}