Skip to content

Add article: Static sites vs. SSR on Appwrite Sites#2870

Open
Copilot wants to merge 4 commits intomainfrom
copilot/compare-static-sites-and-ssr
Open

Add article: Static sites vs. SSR on Appwrite Sites#2870
Copilot wants to merge 4 commits intomainfrom
copilot/compare-static-sites-and-ssr

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 8, 2026

  • Create new blog post: static sites vs SSR on Appwrite Sites
  • Article covers: static site serving mechanics and why it's fast/cheap
  • Article covers: SSR container model, isolation, on-demand scaling
  • Article covers: when to choose SSR (dynamic SEO, on-demand invalidation, backend colocation)
  • Opening paragraph updated to note that switching strategies later is possible but often introduces hard-to-catch side effects and bugs
  • Author changed to matej-baco
  • Line 15: removed "why static is usually the right default" — now reads "which one is the better default" to avoid declaring a winner prematurely
  • Removed on-demand cache invalidation paragraph
  • Add cover.png (cover.appwrite.network not reachable from sandbox)

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 8, 2026

Greptile Summary

This PR adds a new blog post, "Static sites vs. SSR on Appwrite Sites: how to choose," which clearly explains the two rendering models, their trade-offs, and when to use each. The article is well-written, well-structured, and all referenced internal blog posts exist. Two content-level issues need attention before publish:

  • Orphaned decision-table row (line 78): The PR explicitly removed the on-demand cache invalidation paragraph, but the corresponding table row (On-demand cache invalidation for individual pages | SSR) was left in the decision guide. Readers will encounter this row without any supporting explanation in the article body.
  • Potentially over-stated per-route SSR claim (line 88): The sentence "You can start static and add SSR to specific routes as your needs evolve" implies Appwrite Sites supports fine-grained, per-route rendering strategy switching within one project, which may not accurately reflect the platform's current deployment model.
  • The cover image asset (static/images/blog/static-vs-ssr-appwrite-sites/cover.png) is still missing, as noted in a prior review thread.

Confidence Score: 3/5

Hold for content fixes — two accuracy issues and a missing cover image asset need to be resolved before this is ready to publish.

The orphaned table row (a concept without any explanation in the article) and the potentially inaccurate claim about per-route SSR granularity are both P1 content correctness issues that could mislead readers. The missing cover image is also unresolved per the PR description itself. Together these warrant a 3/5 until addressed.

src/routes/blog/post/static-vs-ssr-appwrite-sites/+page.markdoc — lines 78 and 88 need review; cover image asset still missing.

Vulnerabilities

No security concerns identified. This PR adds only static Markdoc content with no code execution, API calls, or user input handling.

Important Files Changed

Filename Overview
src/routes/blog/post/static-vs-ssr-appwrite-sites/+page.markdoc New blog post explaining static vs. SSR on Appwrite Sites — content is well-structured and technically sound overall, but has two issues: the on-demand cache invalidation table row is orphaned (its explanation paragraph was removed), and one sentence may overstate per-route rendering granularity on Appwrite Sites.

Reviews (4): Last reviewed commit: "Remove on-demand cache invalidation sect..." | Re-trigger Greptile

…to-catch bugs

Agent-Logs-Url: https://github.com/appwrite/website/sessions/e6733b1c-543c-46d1-a7b1-4a9b431b8ac2

Co-authored-by: Meldiron <19310830+Meldiron@users.noreply.github.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 8, 2026

Tip:

Greploops — Automatically fix all review issues by running /greploops in Claude Code. It iterates: fix, push, re-review, repeat until 5/5 confidence.

Use the Greptile plugin for Claude Code to query reviews, search comments, and manage custom context directly from your terminal.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 8, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • cover.appwrite.io
    • Triggering command: /usr/bin/curl curl -v --connect-timeout 5 REDACTED (dns block)
  • cover.appwrite.network
    • Triggering command: /usr/bin/curl curl -sI https://cover.appwrite.network/ (dns block)
    • Triggering command: /usr/bin/wget wget -q --spider https://cover.appwrite.network/ (dns block)
    • Triggering command: /usr/bin/curl curl -v https://cover.appwrite.network/ (dns block)
  • https://api.github.com/orgs/appwrite/repos
    • Triggering command: /usr/bin/curl curl -s REDACTED (http block)
  • https://api.github.com/search/repositories
    • Triggering command: /usr/bin/curl curl -s REDACTED (http block)
  • og.appwrite.io
    • Triggering command: /usr/bin/curl curl -v --connect-timeout 5 REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Agent-Logs-Url: https://github.com/appwrite/website/sessions/cfe6f996-a182-4cb6-8ed5-3d4bf237e2cc

Co-authored-by: Meldiron <19310830+Meldiron@users.noreply.github.com>
| Pre-built documentation or marketing pages | Static |
| User-generated content at scale with SEO requirements | SSR |
| Personalized pages rendered per-request | SSR |
| On-demand cache invalidation for individual pages | SSR |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Orphaned table row references removed content

The PR description confirms that the "on-demand cache invalidation" paragraph was removed from the article body (via the [x] Removed on-demand cache invalidation paragraph checklist item). However, line 78 still lists On-demand cache invalidation for individual pages | SSR in the decision table without any explanation elsewhere in the article.

Readers who encounter this row will have no context for what it means or why SSR handles it better than static hosting — the supporting explanation no longer exists. Either re-add a brief explanation in the body, or remove this row from the table to keep the guide consistent with the article's content.

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.

2 participants