Skip to content

Conversation

@Veera-mulge
Copy link
Contributor

@Veera-mulge Veera-mulge commented Sep 26, 2025

What does this PR do?

(Provide a description of what this PR does.)

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

Related PRs and Issues

(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you read the Contributing Guidelines on issues?

(Write your answer here.)

Summary by CodeRabbit

  • Documentation
    • Added two comparison posts: “Netlify vs Vercel vs Amplify vs Appwrite Sites” and “Netlify vs Vercel vs Azure vs Appwrite Sites” with pricing, feature tables, pros/cons, FAQs, and links to docs.
    • Updated “Choosing the right backend as a service tool in 2025”: added date, expanded comparison table (Messaging, Hosting), converted many links to internal docs, and refined headings/wording.
    • Added publication dates to relevant posts, including “Why developers choose Appwrite Auth.”

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 26, 2025

Walkthrough

This PR updates and adds Markdoc blog pages. It renames the BaaS comparison post to "Choosing the right backend as a service tool in 2025", adds a date (2025-09-25), expands its feature table (adds Messaging and Hosting), and converts multiple external links to internal site paths (docs, blog, integrations, pricing, hosting). It adds two new Sites comparison posts (Netlify vs Vercel vs Amplify vs Appwrite Sites; Netlify vs Vercel vs Azure vs Appwrite Sites) and adds a date field to the "Why developers choose Appwrite Auth" post. No executable code changes.

Possibly related PRs

  • Faq auth blog #2430: Updates front matter (adds a date) for src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc, touching the same file modified here.

Suggested reviewers

  • tessamero
  • LauraDuRy
  • adityaoberai

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title concisely and accurately reflects the primary change set by introducing multiple blog posts comparing Appwrite Sites to other platforms, making it clear to reviewers what the pull request delivers.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch sites-comparison-blogs

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7a1b8b7 and 308a1bf.

📒 Files selected for processing (1)
  • src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (8)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (1)

70-74: Fix FAQ numbering (missing #6).

You jump from “# 5.” to “# 7.”. Either renumber or drop numeric prefixes to avoid future drift.

Apply:

-# 7. Does Appwrite support offline or local-first applications?
+# 6. Does Appwrite support offline or local-first applications?
src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (5)

34-35: Remove empty table row.

There’s a stray empty row in the comparison table.

-|  |  |  |  |  |

63-64: Grammar fix: “an additional layers” → “an additional layer”.

-Yes. Appwrite Authentication supports MFA, giving developers and security teams an additional layers of protection. 
+Yes. Appwrite Authentication supports MFA, giving developers and security teams an additional layer of protection.

69-76: Minor copy edits.

-Here are some Appwrite's authentication flows:
+Here are some of Appwrite's authentication flows:
-- Phone(SMS)
+- Phone (SMS)

82-111: Duplicate heading number “# 5.”; renumber following FAQ.

Two headings are “# 5.”. Adjust numbering or remove numeric prefixes.

-# 5. Can I migrate from Auth0 or Firebase Auth to Appwrite?
+# 6. Can I migrate from Auth0 or Firebase Auth to Appwrite?

-# 6. What programming languages and frameworks does Appwrite support?
+# 7. What programming languages and frameworks does Appwrite support?

-# 7. Is Appwrite Authentication secure and compliant (GDPR, HIPAA)?
+# 8. Is Appwrite Authentication secure and compliant (GDPR, HIPAA)?

-# 8. Can I self-host Appwrite Authentication?
+# 9. Can I self-host Appwrite Authentication?

-# 9. How does Appwrite pricing compare to Auth0?
+# 10. How does Appwrite pricing compare to Auth0?

-# 10. Who should use Appwrite Authentication?
+# 11. Who should use Appwrite Authentication?

Continue incrementing the remaining numbered headings by +1.


59-60: Fix broken internal link path
In src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc at line 59, change /post/appwrite-vs-auth0 to /blog/post/appwrite-vs-auth0:

-We have an in-depth Appwrite vs Auth0 pricing comparison, you can read it [here](/post/appwrite-vs-auth0).
+We have an in-depth Appwrite vs Auth0 pricing comparison, you can read it [here](/blog/post/appwrite-vs-auth0).
static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/images (1)

1-2: Add missing cover image for Azure comparison post
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc sets cover: /images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png, but static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png is missing—this will break the hero image.

static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/images (1)

1-2: Add missing cover.png under static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/; the post references /images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png but the asset is not included.

🧹 Nitpick comments (2)
src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (1)

145-146: Pluralization nit: “dev tool” → “dev tools”.

-... explore modern dev tool in a hands-on way.
+... explore modern dev tools in a hands-on way.
src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (1)

121-125: Table polish: remove blank Cons cell or add a real con.

The empty cell under Cons looks unfinished.

-| All-in-one stack |  |
+| All-in-one stack | Smaller ecosystem vs incumbents |
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fe083e9 and 97f4242.

📒 Files selected for processing (6)
  • src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (1 hunks)
  • src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (1 hunks)
  • src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc (1 hunks)
  • src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (1 hunks)
  • static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/images (1 hunks)
  • static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/images (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build
  • GitHub Check: tests
  • GitHub Check: format
🔇 Additional comments (7)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (2)

8-8: LGTM: date metadata added.


5-5: Verify cover asset exists.

cover: /images/blog/choosing-the-right-baas-in-2025/cover.png — ensure the file exists under static/images/blog/choosing-the-right-baas-in-2025/cover.png.

You can extend the earlier script to include this page as well.

src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (2)

7-7: LGTM: date metadata added.


5-5: Verify cover asset exists.

cover: /images/blog/why-developers-choose-appwrite-auth/cover.png — ensure the file exists under static/images/blog/why-developers-choose-appwrite-auth/cover.png.

Use the cover verification script.

src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc (1)

51-61: Verify product/docs links exist.

Confirm /products/sites, /docs/products/databases, /docs/products/sites/frameworks, /docs/products/sites/deploy-from-git, /docs/references, /docs/sdks, /docs/products/network/cdn, and /docs/products/network/edges are valid.

Reuse the internal-docs slug checker provided earlier.

src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (2)

89-91: Typo: “$20/mon.” → “$20/month”.

-- Pro plan at $20/mon.
+- Pro plan at $20/month.

Likely an incorrect or invalid review comment.


141-142: Verify internal docs links resolve
Confirm that /docs/products/network/edges and /docs/products/network/cdn resolve correctly, considering case- and slug-sensitivity.

layout: post
title: "Choosing the right platform to deploy your web apps: Vercel, Netlify, Amplify, and Appwrite Sites compared"
description: See how Vercel, Netlify, Amplify, and Appwrite Sites stack up in 2025, with their pros and cons, and which one makes sense for your next project.
cover: /images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Cover image likely missing.

cover references /images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png, but no asset was added. Add it under static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/.

Use the script in the images comment to confirm presence.


🏁 Script executed:

#!/usr/bin/env bash
# Check if cover image exists in the expected directory
fd --glob 'static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png'

Length of output: 0


🏁 Script executed:

#!/usr/bin/env bash
# Search for any cover.png in the repository
fd -t f 'cover.png'

Length of output: 14142


Add missing cover image file
Markup references /images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png but no file exists at static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png. Add the asset there.

🤖 Prompt for AI Agents
In
src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc
around line 5 the frontmatter references cover:
/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png but the
file is missing; add the referenced image file at
static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png
(ensure correct filename, case, and PNG format), or update the frontmatter to
point to an existing image path if a different asset should be used.

layout: post
title: "Appwrite Sites vs Netlify vs Vercel vs Azure Static Web Apps: Which platform should you choose in 2025?"
description: Get a detailed breakdown of features, pricing, pros, and cons so you can find the best hosting platform for your project.
cover: /images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Cover image likely missing.

cover references /images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png, but no asset was added. Add it under static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/.

Use the cover verification script.


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

# Verify existence of the cover image file referenced in +page.markdoc
TARGET="static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png"
if [ -f "$TARGET" ]; then
  echo "FOUND: $TARGET"
else
  echo "MISSING: $TARGET"
fi

Length of output: 82


Add missing cover image asset
The file static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png is missing. Add cover.png to that directory so the cover: reference in src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc resolves correctly.

🤖 Prompt for AI Agents
In
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc
around line 5 the frontmatter references cover:
/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png but the
asset is missing; add a cover.png file to
static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/ (optimized
web-friendly PNG, correct dimensions and filename casing) so the cover path
resolves, commit the image alongside the change and verify the built site serves
the image.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (1)

56-58: Switch the enterprise CTA link to a relative path.

All other internal references in this PR use site-relative URLs, but this one keeps the absolute https://appwrite.io/…. Flipping it to /contact-us/enterprise keeps the linking style consistent and avoids future protocol/domain drift.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 97f4242 and 197bb9d.

📒 Files selected for processing (1)
  • src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: tests

ebenezerdon and others added 2 commits September 26, 2025 12:34
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
- **Vercel**: Think of Vercel as the **framework-native host**. It’s tightly coupled with Next.js, and its entire model revolves around serving modern frontend frameworks at the edge with minimal friction. Backend logic exists, but always as small serverless functions or external APIs.
- **Netlify**: The **Jamstack generalist**. Netlify built its reputation on static-first workflows: push code, build, deploy, done. It doesn’t lean into any one framework, instead, it’s about a consistent, git-driven pipeline that works for React, Vue, Svelte, or plain HTML.
- **AWS Amplify**: Amplify is built to connect your frontend with AWS services. It gives you hosting, but the main focus is making it easy to add things like authentication (Cognito), databases (DynamoDB), file storage (S3), and serverless functions (Lambda). Hosting is just one part; the bigger goal is tying your app into AWS’s cloud tools.
- **Appwrite Sites**: The **open-source all-in-one development platform**. Instead of separating hosting from backend, [Appwrite Sites](/products/sites) is an extension of Appwrite’s backend platform: you host the frontend and connect directly to the built-in [auth](/docs/products/auth), [Databases](/docs/products/databases), and [Functions](/docs/products/functions). It’s less about glueing services together and more about having a **cohesive stack under one roof**.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think description of "Appwrite Sites" should focus on hosting. "Appwrite" is the open-source all-in-one development platform.

Just like Aws vs Aws Amplify

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Worked on this @ebenezerdon


| Pros | Cons |
| --- | --- |
| Best-in-class support for Next.js | Expensive as usage scales |
Copy link
Contributor

Choose a reason for hiding this comment

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

I think "Expensive as usage scales" needs to be nuanced. Why is it expensive as usage scales, and what makes their pricing different from Appwrite Sites? Maybe we can touch on that somwhere in the article

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Makes sense, added in the same table.


| Pros | Cons |
| --- | --- |
| Very easy to use and set up | Not as optimized for modern frameworks like Next.js |
Copy link
Contributor

Choose a reason for hiding this comment

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

Not as optimized for modern frameworks like Next.js

Not sure this is accurate. Why do you think so?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was in contrast to Vercel, but it's not coming off accurately here. Changed the point


- **Free tier**: 12 months free with AWS (limited usage).
- **Pay as you go**: Charges based on hosting, storage, function invocations, and connected AWS services.
- **It can get expensive** depending on the scale and usage of AWS backend services.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should add nuance to the "expensive" statements on the various platforms

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed. Added.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 806f132 and 7a1b8b7.

⛔ Files ignored due to path filters (5)
  • static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/amplify.png is excluded by !**/*.png
  • static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/azure.png is excluded by !**/*.png
  • static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/netlify.png is excluded by !**/*.png
  • static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/sites.png is excluded by !**/*.png
  • static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/vercel.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (1 hunks)
  • src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: build
  • GitHub Check: tests
  • GitHub Check: format
🔇 Additional comments (2)
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc (1)

5-5: Cover image asset still missing

Frontmatter points to /images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png, but that file isn’t in the repository. As a result, the blog post renders with a broken hero image. Please add static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png (optimized PNG) or update the path to an existing asset.

src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (1)

5-5: Add the missing cover asset referenced in frontmatter.

Frontmatter points to /images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png, but there’s no matching file at static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png, so the hero will render broken. Please add that asset (or repoint to an existing image).

…sites/+page.markdoc

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@ebenezerdon ebenezerdon merged commit cec8412 into main Sep 26, 2025
4 checks passed
@ebenezerdon ebenezerdon deleted the sites-comparison-blogs branch September 26, 2025 13:07
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.

3 participants