rezero.mdrezero.mdConnexion
Comment il est construitdesign

Canva

Web-based graphic design platform with templates for social media, presentations, and marketing.

Site étudié: canva.com · À partir des pages publiques

Palette de couleurs

#fff#000#a370fc#8b3dffrgba(53,71,90,.2)#f5f5f5#7c2ef0#ff0#c0c0c0#1a1a1a#6b6b6b#3d3d3d#757575#06c#e0e0e0#b0b0b0#6eb3f7#9e9e9e#00000024#00000014#0000001f#d9d9d9#ebebeb#7a35e0

Observation

No sitemap or navigation is available. The only observable URL paths are the root (/) and a help page (/en/help/troubleshoot-cloudflare-error). The help page URL contains a language code (en), suggesting a multilingual site structure.

Inference

The site's intended sitemap is currently inaccessible. The URL structure implies a hierarchical organization, likely starting with language at the top level, followed by major sections like /help. The full depth and breadth of the information architecture cannot be determined from the evidence provided.

Recommendation

During a full-site outage, ensure the server returns a 503 Service Unavailable HTTP status code for all pages. This is a critical signal to search engine crawlers that the issue is temporary and they should not de-index the pages. If possible, the robots.txt file should remain accessible to provide rules to crawlers even during downtime. This helps protect the site's SEO health.

Observation

The user interface is minimal, displaying only the brand name "Canva" as the page title and a single, prominent heading: "We’ll have you designing again soon." There is no navigation, footer, or any other interactive element visible.

Inference

This is a deliberately designed maintenance or error page. The design prioritizes clear, reassuring communication over functionality during a service disruption. The tone of the copy is optimistic and empathetic, which suggests a brand strategy focused on maintaining a positive user relationship even during downtime. The simplicity of the page ensures it loads quickly and reliably when other systems may be failing.

Recommendation

Adopt a pattern of creating dedicated, branded status pages for various system states (e.g., maintenance, partial outage, full outage). The design should be minimal and the copy should be clear, empathetic, and provide an expectation of resolution without making specific promises. This approach manages user frustration and reinforces brand trust during critical incidents. Ensure this design is consistent across all user-facing error states.

Observation

Two distinct URLs, the root (/) and a help page (/en/help/troubleshoot-cloudflare-error), resolve to the exact same content. No navigation, links, or sitemap are accessible from the page. The help URL path includes a language code (/en/) and a nested structure (/help/troubleshoot-cloudflare-error).

Inference

The site's standard information architecture is currently collapsed and inaccessible, with all traffic being routed to a single fallback page. The URL structure suggests that the full site architecture is organized by language and then by content category (e.g., "help"). This implies a content-rich site with internationalization support.

Recommendation

To improve the user experience during outages, consider architecting the system so that static content, like the help center, is hosted independently from the core application. This would allow users to access troubleshooting guides and support information even when the main design tool is unavailable. This pattern of separating static/informational content from dynamic/application content increases overall site resilience.

Observation

The rendered page consists of only two basic components: a page title element in the browser tab and a single heading on the page itself. There are no interactive components such as buttons, forms, navigation menus, or links.

Inference

The system utilizes a minimal, dependency-free set of components for its highest-priority status pages. This is a fallback UI, intentionally separate from the main application's complex component library used for designing. The absence of interactive components is likely a deliberate choice to prevent users from attempting actions that are bound to fail during an outage.

Recommendation

Formalize the creation of a lightweight, self-contained "emergency" component library for use in status and error pages. This library should contain only the most basic, static elements (e.g., branded headers, message boxes) and have zero dependencies on backend services or complex JavaScript frameworks. This ensures that critical communications can always be rendered to the user, regardless of the state of the primary application.

Observation

The detected technology stack includes Cloudflare with 70% confidence. A help URL explicitly references troubleshooting a "Cloudflare error." The page being served is a static message, indicating that the origin server or application is not being reached.

Inference

Cloudflare is a critical component of the infrastructure, acting as a Content Delivery Network (CDN), Web Application Firewall (WAF), or reverse proxy. The current issue is likely occurring at this edge layer, which is intercepting all requests and serving a static fallback page. The underlying application stack (backend language, database, etc.) is completely masked by this edge service, which is a common security and reliability pattern.

Recommendation

To provide more transparency during outages without revealing internal stack details, implement a public-facing status page on a completely separate infrastructure (e.g., using a third-party provider like Atlassian Statuspage). This page can be updated manually or automatically to inform users about the specific services affected (e.g., "Image Uploads," "Login Services") and the progress toward resolution. This pattern decouples status communication from the failing infrastructure.

Observation

Requests to the application's root domain and deeper paths are being intercepted and served the same static page. The evidence points to Cloudflare as the service handling this interception. The core application is inaccessible.

Inference

The architecture employs an edge layer (Cloudflare) that is decoupled from the origin application servers. This setup enables a "circuit breaker" or "failover" pattern. When the origin is unhealthy or under maintenance, the edge is configured to stop forwarding traffic and instead serve a pre-defined static response. This demonstrates a resilient architecture designed for graceful degradation.

Recommendation

Formalize and document this failover mechanism. Ensure that the static assets for the error/maintenance page are stored in a highly-available, independent location (like Cloudflare R2 or AWS S3) that the edge service can access without needing the origin. Automate the health checks that trigger this failover state to minimize downtime and reduce the need for manual intervention during an incident.

Observation

A user-friendly, non-technical message ("We’ll have you designing again soon") is displayed instead of a raw HTTP error code like "502 Bad Gateway" or a stack trace. This message is served for all requested paths, including a specific help article.

Inference

A strategic decision was made to prioritize a consistent and reassuring user experience over technical detail during a service disruption. This indicates a product-led approach where maintaining brand perception is as important as resolving the technical issue. The decision to override all pages with one message suggests a preference for a simple, global fail-safe rather than a more complex, partial degradation.

Recommendation

Re-evaluate the trade-offs of this global override strategy. While simple, it prevents users from accessing potentially useful static content like help guides. A more nuanced approach could involve serving the failover page only for dynamic application routes, while allowing requests for static assets or a separately-hosted help center to pass through. This balances the need for a simple fail-safe with providing users maximum utility during an outage.

Observation

The system demonstrates the ability to handle a service failure gracefully by presenting a user-friendly static page. This is managed by an intermediary service identified as Cloudflare, which sits in front of the main application.

Inference

The core pattern observed is the use of an edge network as a resilience layer. This layer is responsible for routing, security, and, in this case, serving a fallback response when the backend application is unavailable. This decouples the user's immediate experience from the state of the origin servers.

Recommendation

To replicate this pattern, use a reverse proxy or CDN service (such as Cloudflare, AWS CloudFront, or Fastly) in front of your application. Configure health checks to monitor your origin server's availability. Set up a failover rule that, upon detecting an unhealthy origin, directs traffic to a static page hosted in a highly-available object store (like AWS S3). This architectural pattern significantly improves application resilience and provides a predictable, controlled user experience during downtime.

Références liées

D’autres analyses de la même catégorie et du même stack.