@@ -75,7 +75,10 @@ PUBLIC_PAGE_ENTRIES = (
|
||||
"Web Design and Hosting",
|
||||
"monthly",
|
||||
"0.8",
|
||||
"Web design, development, and managed hosting for business sites and apps.",
|
||||
"Custom brand-tailored sites with interactive package pricing. You own the site and data. "
|
||||
"Public site + client portal (UTM/leads) always included; add-ons for Email/SMS, direct mail, "
|
||||
"blog, Stripe payments, social, and AI social. Every build includes three-instance hosting, "
|
||||
"SEO/accessibility/LLM readiness, and Grafana metrics and alerts.",
|
||||
),
|
||||
(
|
||||
"contact",
|
||||
@@ -127,7 +130,10 @@ def robots_txt(request):
|
||||
sitemap_url = _absolute_url(request, "sitemap_xml")
|
||||
content = render_to_string(
|
||||
"public/robots.txt",
|
||||
{"sitemap_url": sitemap_url},
|
||||
{
|
||||
"sitemap_url": sitemap_url,
|
||||
"llms_url": _absolute_url(request, "llms_txt"),
|
||||
},
|
||||
)
|
||||
return HttpResponse(content, content_type="text/plain; charset=utf-8")
|
||||
|
||||
@@ -146,18 +152,27 @@ def sitemap_xml(request):
|
||||
|
||||
|
||||
def llms_txt(request):
|
||||
from .web_design_pricing import (
|
||||
WEB_DESIGN_INCLUDED,
|
||||
features_for_json,
|
||||
)
|
||||
|
||||
pages = [
|
||||
{
|
||||
"title": title,
|
||||
"url": _absolute_url(request, url_name),
|
||||
"summary": summary,
|
||||
}
|
||||
for url_name, title, _changefreq, _priority, _summary in PUBLIC_PAGE_ENTRIES
|
||||
for url_name, title, _changefreq, _priority, summary in PUBLIC_PAGE_ENTRIES
|
||||
]
|
||||
content = render_to_string(
|
||||
"public/llms.txt",
|
||||
{
|
||||
"site_url": request.build_absolute_uri("/"),
|
||||
"contact_url": _absolute_url(request, "contact"),
|
||||
"web_design_url": _absolute_url(request, "web_design"),
|
||||
"web_design_features": features_for_json(),
|
||||
"web_design_included": WEB_DESIGN_INCLUDED,
|
||||
"pages": pages,
|
||||
},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user