<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Welcome on N7 Docs</title><link>https://docs.n7.io/</link><description>Recent content in Welcome on N7 Docs</description><generator>Hugo</generator><language>en</language><atom:link href="https://docs.n7.io/index.xml" rel="self" type="application/rss+xml"/><item><title>SERA request flow</title><link>https://docs.n7.io/sera/origin-sera-crawler-request-flow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/origin-sera-crawler-request-flow/</guid><description>&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You must have an account created on Nitrogen dashboard to view the SERA statistics&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SERA must be configured to receive the requests from bots&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="flow"&gt;Flow&lt;a class="heading-anchor" href="#flow" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A typical request flow with SERA integration looks like this :&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/miscellaneous/N7-to-Origin_flow.png" alt="Step" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Page serving workflow :&lt;/strong&gt;&lt;br/&gt;
(This is shown at left-hand side of flow in Yellow color)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Crawler&lt;/code&gt; requests are received on &lt;code&gt;N7 CDN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If the &lt;code&gt;N7 CDN&lt;/code&gt; has page available in cache/storage - it is returned back to &lt;code&gt;crawler&lt;/code&gt;
&lt;ol&gt;
&lt;li&gt;If the page page is unavailable in cache/storage :
&lt;ol&gt;
&lt;li&gt;If a failover is not configured - a 404 is returned to &lt;code&gt;crawler&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;If a failover is configured - the request is forwarded (proxied) to &lt;code&gt;origin server&lt;/code&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Origin server&lt;/code&gt; sends the response&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SERA&lt;/code&gt; receives it, and sends it to &lt;code&gt;crawler&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Page rendering workflow :&lt;/strong&gt;&lt;br/&gt;
(This is shown at right-hand side of flow in Yellow color)&lt;/p&gt;</description></item><item><title>Announcements 📢</title><link>https://docs.n7.io/whats-new/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/whats-new/</guid><description>&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;u&gt;[2024-11-08]&lt;/u&gt;  &lt;strong&gt;[New]&lt;/strong&gt;   
&lt;strong&gt;Monthly Stats for Log Extracts:&lt;/strong&gt;
We’ve introduced a new feature that gives you an overview of your log extract activity through monthly statistics. You can now track important metrics within your account under Account &amp;gt; Log Extracts, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Cost: Understand the costs associated with your log extract queries, helping you manage budgets more effectively.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Queries Run: Get a clear view of how many log extract queries were executed within the month.&lt;/p&gt;</description></item><item><title>Application Errors</title><link>https://docs.n7.io/account/analytics-dashboard/application-errors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/application-errors/</guid><description>&lt;p&gt;This dashboard will show the 4xx status code data for the configured domains.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;Application Errors&lt;/code&gt; chart for it.&lt;/br&gt;
If no domain is selected, the charts will show data of all domains configured on current account. Else data will be displayed for selected domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;nviztest.com&lt;/code&gt; site data as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Requests&lt;/code&gt;: This chart shows the HTTP status code wise count of the 4xx error requests.&lt;/p&gt;</description></item><item><title>Cache variations</title><link>https://docs.n7.io/delivery/caching/cache-variations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/caching/cache-variations/</guid><description>&lt;p&gt;Refer this page to configure cache variations.&lt;/br&gt;
A typical use case for using this is when you would want to cache/serve different variations of responses for same URL based on some conditions.&lt;/br&gt;
e.g. You would want to cache your PDP pages separately, based on the currency with which the prices are shown.&lt;/br&gt;
Or you would want to separately cache the page shown to wordpress-admin and normal user.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;
Here, we will be configuring cache variation for all the pages based on &lt;code&gt;_wordpress_logged_in_&lt;/code&gt; cookie.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Cache-MISS scenarios</title><link>https://docs.n7.io/miscellaneous/cache-miss-scenarios/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/miscellaneous/cache-miss-scenarios/</guid><description>&lt;p&gt;Refer this page to know the reasons - when the origin server can get user requests even when caching is enabled, or when CDN can serve old content.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have caching enabled on domain.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="details"&gt;Details&lt;a class="heading-anchor" href="#details" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The content you are accessing is typically served from the regional CDN Point of Presence (PoP) closest to you. However, the requested content may not be available in the cache for the following reasons:&lt;/p&gt;</description></item><item><title>Condition Group</title><link>https://docs.n7.io/sera/rules/conditions-blocks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/rules/conditions-blocks/</guid><description>&lt;p&gt;Routing conditions can be applied to URLs for routing through the SERA for domains that use the N7 DELIVERY module.
Please deploy your domain using the History for these changes to take effect.&lt;/p&gt;
&lt;p&gt;Follow these steps to configure conditional group.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;NOTE: This section only for N7 clients, for non-N7 clients please refer the &lt;a href="https://docs.n7.io/sera/server-side-integration/" &gt;instructions&lt;/a&gt;
&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For demo purpose, we will be using &lt;code&gt;example.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/br&gt;
&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have at least one page group created.&lt;/li&gt;
&lt;li&gt;You must have Header and Pattern conditions created. If not, you can refer (&lt;a href="https://docs.n7.io/sera/settings/header-conditions/" &gt;Header&lt;/a&gt;
 and &lt;a href="https://docs.n7.io/sera/settings/url-patterns" &gt;URL Patterns&lt;/a&gt;
).&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Rules&lt;/code&gt; section, then select &lt;code&gt;Condition Groups&lt;/code&gt;.
&lt;img src="https://docs.n7.io/assets/images/Sera/rules/condition-groups/add.png" alt="Step" &gt;
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Configure SERA for domain</title><link>https://docs.n7.io/sera/a-domain-config-sera/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/a-domain-config-sera/</guid><description>&lt;p&gt;You can configure SERA for domains by following below steps.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account with Nitrogen&lt;/li&gt;
&lt;li&gt;You must have a domain pointing to N7.&lt;/li&gt;
&lt;li&gt;You must have a page group created.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Select the &lt;code&gt;SERA&lt;/code&gt; feature from the top Menu&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/selecting_sera_1.png" alt="Step" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Once you select the &lt;code&gt;SERA&lt;/code&gt; feature, it will navigate to &lt;code&gt;Domains&lt;/code&gt; list page&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/enabling_sera_domain_list.png" alt="Step" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on Domain name, It will navigate to &lt;code&gt;Dashboard&lt;/code&gt; page, shows the data charts/cards if you already configure the &lt;code&gt;Page Groups&lt;/code&gt; for your domain, otherwise it will shows the an Go to Page Groups page &lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Content blocks</title><link>https://docs.n7.io/delivery/security/conditional-blocks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/conditional-blocks/</guid><description>&lt;p&gt;Follow these steps to configure conditional blocking. i.e. to block the requests based on conditions.&lt;/br&gt;
Typical use-cases are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;block malicious request URLs.&lt;/li&gt;
&lt;li&gt;block the IPs you found making malicious requests.&lt;/li&gt;
&lt;li&gt;block requests coming from certain bots.&lt;/li&gt;
&lt;li&gt;block requests coming from certain countries.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;
Here, we will be blocking a certain set of IPs.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;For this example to work, you should have created an IP based condition. If not, you can refer &lt;a href="https://docs.n7.io/delivery/settings/ip/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Security&lt;/code&gt; menu, then select &lt;code&gt;Content Blocks&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.
&lt;img src="https://docs.n7.io/assets/images/delivery/security/2.png" alt="Step" &gt;
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Cookie conditions</title><link>https://docs.n7.io/delivery/settings/cookie/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/settings/cookie/</guid><description>&lt;p&gt;This page will show you steps to configure cookie based condition. These then can be used at multiple places such as rewrite/caching/blocking rules.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would disable cache for pages when opened in preview mode.&lt;/br&gt;
Here, we can achieve it by disabling caching when we have Shopify&amp;rsquo;s &amp;lsquo;preview_theme&amp;rsquo; cookie is present.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;Here, we will be using &lt;code&gt;preview_theme&lt;/code&gt; cookie. You can use any relevant cookie&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Creating service accounts for programmatic access to Nitrogen APIs</title><link>https://docs.n7.io/account/users/create-api-keys/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/users/create-api-keys/</guid><description>&lt;p&gt;You can integrate different Nitrogen APIs in your application, for which you need to have a service account.&lt;/br&gt;
Follow these steps to create a service account.
&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on your &lt;code&gt;ACCOUNT&lt;/code&gt; name at top-right corner to open account-level features.&lt;/p&gt;</description></item><item><title>DNS</title><link>https://docs.n7.io/aio/dns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/dns/</guid><description>&lt;p&gt;This screen will display you the CNAMEs/A-records that needs to be configured to confirm your ownership over domain, and to move the traffic through Nitrogen.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/dns/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>DNS</title><link>https://docs.n7.io/avo/dns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/avo/dns/</guid><description>&lt;p&gt;This screen will display you the CNAMEs/A-records that needs to be configured to confirm your ownership over domain, and to move the traffic through Nitrogen.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/dns/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>DNS</title><link>https://docs.n7.io/common/dns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/common/dns/</guid><description>&lt;p&gt;This screen will display you the CNAMEs/A-records that needs to be configured to confirm your ownership over domain, and to move the traffic through Nitrogen.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have some domain registered on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Select the respective &lt;code&gt;Account&lt;/code&gt; and &lt;code&gt;Domain&lt;/code&gt; from the dropdowns at the top right corner.&lt;/p&gt;</description></item><item><title>DNS</title><link>https://docs.n7.io/delivery/routing/dns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/dns/</guid><description>&lt;p&gt;This screen will display you the CNAMEs/A-records that needs to be configured to confirm your ownership over domain, and to move the traffic through Nitrogen.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/dns/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>Header conditions</title><link>https://docs.n7.io/sera/settings/header-conditions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/settings/header-conditions/</guid><description>&lt;p&gt;This section shows the steps to configure header based condition.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to pass all the bots requests to &lt;a href="https://sera.n7.io/" target="_blank" rel="noreferrer"&gt;sera.n7.io&lt;/a&gt;
.&lt;/br&gt;
Here, you can achieve it by providing all Bot patterns by setting the value of user-agent request header.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: Header conditions will work only on &lt;b&gt;request&lt;/b&gt;-headers.&lt;/br&gt;
For demo purpose, we will be using &lt;code&gt;example.com&lt;/code&gt; domain as an example. Here, we will only be using &lt;code&gt;googlebot&lt;/code&gt; and &lt;code&gt;bingbot&lt;/code&gt; user-agent for simplicity.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Human-Detector (HD): Core Security Module Overview</title><link>https://docs.n7.io/delivery/security/human-detector/1-overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/human-detector/1-overview/</guid><description>&lt;h2 id="what-is-human-detector-hd"&gt;What is Human-Detector (HD)?&lt;a class="heading-anchor" href="#what-is-human-detector-hd" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Human-Detector (HD)&lt;/strong&gt; is a &lt;strong&gt;core security module within Nitrogen (N7)&lt;/strong&gt; designed to distinguish between legitimate human users and automated scripts (bots) interacting with your website or application.&lt;/p&gt;
&lt;p&gt;Beyond basic detection, HD analyzes the &lt;strong&gt;“request journey”&lt;/strong&gt; to assess behavioral patterns, enabling it to identify requests with &lt;strong&gt;malicious intent&lt;/strong&gt; and mitigate threats in real-time.&lt;/p&gt;
&lt;p&gt;HD is particularly useful for securing &lt;strong&gt;high-value and sensitive pages/APIs&lt;/strong&gt;, such as account login, cart, and checkout flows, where security risks are higher.&lt;/p&gt;</description></item><item><title>Origin Whitelisting with Origin Identity Secret</title><link>https://docs.n7.io/delivery/security/headers/accesskey/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/headers/accesskey/</guid><description>&lt;p&gt;To enhance the security of your origin servers when using Nitrogen (N7), we have introduced the Origin Identity Secret (&lt;code&gt;X-Nv-Access-Key&lt;/code&gt;) HTTP header. This feature allows your origin to verify that incoming requests have been processed and forwarded by the N7 network, preventing unauthorized direct access.&lt;/p&gt;
&lt;p&gt;This document explains how the &lt;code&gt;X-Nv-Access-Key&lt;/code&gt; works, how to manage your secret keys, and how to configure your origin server for seamless key rotation.&lt;/p&gt;
&lt;h2 id="overview"&gt;Overview&lt;a class="heading-anchor" href="#overview" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When enabled, Nitrogen will add a unique &lt;code&gt;X-Nv-Access-Key&lt;/code&gt; header to all requests forwarded to your origin server. The value of this header is a secret key that you can manage within the Nitrogen dashboard (&lt;code&gt;dash.n7.io&lt;/code&gt;).&lt;/p&gt;</description></item><item><title>Overview</title><link>https://docs.n7.io/account/account-overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/account-overview/</guid><description>&lt;p&gt;Follow these steps if you need to check your account activity, domain details, Account level Analytics, Users details and get the logs for your Account.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Account Home&lt;/code&gt; dropdown. You will see a list of all your accounts (if you have assigned with multiple accounts).
&lt;img src="https://docs.n7.io/assets/images/common/account/1.png" alt="Step" &gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select your account (ignore if already selected).
&lt;img src="https://docs.n7.io/assets/images/common/account/2.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Overview</title><link>https://docs.n7.io/rdx/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/rdx/overview/</guid><description>&lt;p&gt;RDX (RealUser Digital eXperience) is a Nitrogen module that gives you complete/clear and thorough idea of the experience that your users are getting based on combination of different factors such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WVT metrics&lt;/li&gt;
&lt;li&gt;Page load time&lt;/li&gt;
&lt;li&gt;Volume of requests&lt;/li&gt;
&lt;li&gt;Geography of requests&lt;/li&gt;
&lt;li&gt;DeviceTypes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This page will give you a basic idea of Page load, volume, experience.&lt;/br&gt;
&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Overview&lt;/code&gt; menu. Then Select appropriate domain from the domains dropdown.
&lt;img src="https://docs.n7.io/assets/images/RDX/1.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Page Groups</title><link>https://docs.n7.io/sera/pages/page-groups/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/pages/page-groups/</guid><description>&lt;p&gt;Congfiring the page group is prerequisite for &lt;code&gt;SERA&lt;/code&gt; to fetch the data in various &lt;em&gt;sections&lt;/em&gt; or &lt;em&gt;pages&lt;/em&gt;,&lt;/p&gt;
&lt;p&gt;follow the steps for configure,&lt;/p&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;If page group is NOT configured there will be a prompt to add new page group
&lt;img src="https://docs.n7.io/assets/images/Sera/Pages/pages_pagegrops_initial_5.png" alt="Step" &gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Otherwise it will show the configured page groups in this section&lt;/em&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/Pages/page_groups_list.png" alt="Step" &gt;
 &lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If page group NOT configured, click on &lt;code&gt;Add New&lt;/code&gt; button, then it will navigate to another screen to configure
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Redirects</title><link>https://docs.n7.io/delivery/routing/redirects/priority/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/redirects/priority/</guid><description>&lt;p&gt;Refer this page to configure redirections for your domain requests.&lt;/br&gt;
Typical use-case is, you would want to set country based redirections.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;
Here, we will be redirecting all requests from &lt;code&gt;US&lt;/code&gt; to &lt;code&gt;/us/*&lt;/code&gt;&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have a country-based condition configured. Refer &lt;a href="https://docs.n7.io/delivery/settings/country" &gt;guide&lt;/a&gt;
 for it.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Domains&lt;/code&gt; menu, then select &lt;code&gt;Redirects&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.
&lt;img src="https://docs.n7.io/assets/images/delivery/redirects/0.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>SERA integration on Akamai</title><link>https://docs.n7.io/sera/server-side-integration/akamai/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/server-side-integration/akamai/</guid><description>&lt;p&gt;Kindly follow the below steps to setup the routing of bot traffic to SERA.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;All your page requests must get intercepted by below SERA routing rule
&lt;ul&gt;
&lt;li&gt;Please check your routing, caching and cache-variation policies for that&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If caching is enabled, Users and Bots should have a separate cache-variations configured. This is to not serve the SERA&amp;rsquo;s bot-optimized-content to users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open Akamai Dashboard, and Create new Configuration Version&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/integration/akamai/1.png" alt="Step" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</description></item><item><title>2 Factor Authentication</title><link>https://docs.n7.io/delivery/security/fly-auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/fly-auth/</guid><description>&lt;p&gt;Follow these steps to configure Nitrogen 2 Factor Authentication (Fly Auth) on the desired URLs&lt;/br&gt;
Typical use-cases are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;admin pages&lt;/li&gt;
&lt;li&gt;reports section&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example. Here, we will be configuring 2FA on WordPress admin panel pages.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;For this example to work, you should have created URL pattern based condition for WordPRess pattern &lt;code&gt;^(/wp-admin.php|/wp-admin/.*)&lt;/code&gt;. If not set, you can refer &lt;a href="https://docs.n7.io/delivery/settings/url-pattern/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Security&lt;/code&gt; menu, then select &lt;code&gt;2 Factor Auth&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.&lt;/p&gt;</description></item><item><title>Adding a domain to account and enabling services</title><link>https://docs.n7.io/account/add-domain/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/add-domain/</guid><description>&lt;p&gt;After signing-up on the N7 dashboard, you need to configure your domain on N7 CDN.&lt;/br&gt;
You will then be able to enable different features on it like caching, rewrite, redirections, image/video optimizations, SEO related optimizations etc.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Notes:&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;If you are configuring SERA without N7 CDN, follow &lt;a href="https://docs.n7.io/sera/server-side-integration/custom" &gt;these steps&lt;/a&gt;
 for it.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;If you are using N7 StoreVia feature (N7 storage for images), follow &lt;a href="https://docs.n7.io/aio/n7-storage" &gt;these steps&lt;/a&gt;
 for it.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have access to your domain hosting portal (e.g. GoDaddy, Cloudflare), for domain ownership validation.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="adding-the-domain"&gt;Adding the domain&lt;a class="heading-anchor" href="#adding-the-domain" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;u&gt;Please &lt;strong&gt;first add the root/apex domain&lt;/strong&gt; (e.g. &lt;code&gt;nviztest.com&lt;/code&gt;), and &lt;strong&gt;then the subdomain&lt;/strong&gt; (e.g. &lt;code&gt;www.nviztest.com&lt;/code&gt;).&lt;/u&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Adding new Users</title><link>https://docs.n7.io/account/users/create-user/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/users/create-user/</guid><description>&lt;p&gt;This is to provide your account access to other users who can also manage your account.
You can provide the user either view, edit or no access for your account, site and domains.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;New user must be registered on N7.&lt;/li&gt;
&lt;li&gt;If not, new user will receive an email invitation to the user over mail so they can register on N7.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on your &lt;code&gt;ACCOUNT&lt;/code&gt; name at top-right corner to open account-level features.&lt;/p&gt;</description></item><item><title>Bandwidth Consumption</title><link>https://docs.n7.io/account/analytics-dashboard/bandwidth-consumption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/bandwidth-consumption/</guid><description>&lt;p&gt;This dashboard will show the Bandwidth details for the configured domains.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;Bandwidth Consumption&lt;/code&gt; chart for it.&lt;/br&gt;
If no domain is selected, the charts will show data of all domains configured on current account. Else data will be displayed for selected domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;nviztest.com&lt;/code&gt; site data as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Total Bandwidth&lt;/code&gt;: This chart shows the Bandwidth details.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://docs.n7.io/assets/images/common/account/20.png" alt="Chart" &gt;
&lt;/p&gt;</description></item><item><title>CORS</title><link>https://docs.n7.io/delivery/security/headers/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/headers/cors/</guid><description>&lt;p&gt;This page will show you the options to configure CORS (Cross-Origin Resource Sharing) response headers for your site. Refer this &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS" target="_blank" rel="noreferrer"&gt;MDN link&lt;/a&gt;
 for more details.
&lt;/br&gt;&lt;/br&gt;
It is a mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources.&lt;/br&gt;
&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Security&lt;/code&gt; menu, and open &lt;code&gt;CORS&lt;/code&gt; tab.&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Country conditions</title><link>https://docs.n7.io/delivery/settings/country/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/settings/country/</guid><description>&lt;p&gt;This page will show you steps to configure conditions based on country from where request is originated These then can be used at multiple places such as rewrite/caching/blocking rules.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to set country based redirections.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example. Here, we will be redirecting all requests from US to /us/&lt;/em&gt;.*&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Settings&lt;/code&gt; menu, and open &lt;code&gt;Country Conditions&lt;/code&gt; tab.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/common/conditions/country/1.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Dashboard</title><link>https://docs.n7.io/rdx/dashboard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/rdx/dashboard/</guid><description>&lt;p&gt;This page will give you idea of default RDX charts available, and steps to create custom dashboards and to add charts in them.&lt;/br&gt;
&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have RDX configured on your domain. If not, please refer &lt;a href="https://docs.n7.io/rdx/overview/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="sections"&gt;Sections&lt;a class="heading-anchor" href="#sections" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Click on &lt;code&gt;Dashboard&lt;/code&gt; menu. Then select appropriate domain from the domains dropdown.&lt;/p&gt;</description></item><item><title>Dashboard</title><link>https://docs.n7.io/sera/dashboard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/dashboard/</guid><description>&lt;p&gt;This screen will display you various charts and cards with information related the selected domain e.g. Pre rendered pages, Search Bot Crawls etc.&lt;/br&gt;
Please go through below articles to get the details.&lt;/p&gt;
&lt;h3 id="cards"&gt;Cards&lt;a class="heading-anchor" href="#cards" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Last Month&amp;rsquo;s, Current Month&amp;rsquo;s and Yesterday&amp;rsquo;s Data.
&lt;/br&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/dashboards/cards.png" alt="chart" &gt;
&lt;/p&gt;
&lt;h3 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="" &gt;Pre rendered pages&lt;/a&gt;

&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/dashboards/prerendered_pages_chart.png" alt="chart" &gt;

&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" &gt;Search Bot Crawls&lt;/a&gt;

&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/dashboards/bot_charts.png" alt="chart" &gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="list-of-history-execution-urls"&gt;List of History Execution URls&lt;a class="heading-anchor" href="#list-of-history-execution-urls" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This table will fetch the list of execution history with the status code&lt;/p&gt;</description></item><item><title>History</title><link>https://docs.n7.io/common/history/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/common/history/</guid><description>&lt;p&gt;This screen will display you list of all the configuration versions pushed to live. You can deploy your current draft here, compare versions, or rollback to any previous version.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have some domains registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have some changes made/deployed.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Select the respective &lt;code&gt;Account&lt;/code&gt; and &lt;code&gt;Domain&lt;/code&gt; from the dropdowns at the top right corner.&lt;/p&gt;</description></item><item><title>History</title><link>https://docs.n7.io/delivery/routing/history/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/history/</guid><description>&lt;p&gt;This screen will display you list of all the configuration versions pushed to live. You can deploy your current draft here, compare versions, or rollback to any previous version.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/history/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>Human-Detector (HD): Integration steps</title><link>https://docs.n7.io/delivery/security/human-detector/2-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/human-detector/2-integration/</guid><description>&lt;h2 id="integration-on-website"&gt;Integration on Website:&lt;a class="heading-anchor" href="#integration-on-website" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Place the following script at the end of the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; tag on all pages:
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;script src=&amp;quot;/n7/n7HD.js&amp;quot; type=&amp;quot;text/javascript&amp;quot; async defer&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="integration-on-apisub-domains"&gt;Integration on API/sub-domains&lt;a class="heading-anchor" href="#integration-on-apisub-domains" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If backend APIs are served from a different subdomain than the frontend application (for example: frontend on &lt;a href="https://www.domain.com" target="_blank" rel="noreferrer"&gt;www.domain.com&lt;/a&gt;
 and APIs on api.domain.com), additional configuration is required for HD to function correctly.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Note: Please ensure that HD script is present on the primary domain.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Nitrogen Shift</title><link>https://docs.n7.io/delivery/routing/redirects/shift/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/redirects/shift/</guid><description>&lt;p&gt;Refer this page to configure redirections in bulk on your site using CSV import.&lt;/br&gt;
Typical use-case is, you would want to redirect multiple URLs at once due to a catalog update, or based on SEO-team recommendations.
&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Domains&lt;/code&gt; menu, then select &lt;code&gt;Nitrogen Shift&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.
&lt;img src="https://docs.n7.io/assets/images/delivery/redirects/6.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Origins</title><link>https://docs.n7.io/aio/origins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/origins/</guid><description>&lt;p&gt;This screen will show you list of endpoints configured for your domain.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/origins/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>Origins</title><link>https://docs.n7.io/avo/origins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/avo/origins/</guid><description>&lt;p&gt;This screen will show you list of endpoints configured for your domain.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/origins/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>Query Filters</title><link>https://docs.n7.io/sera/rules/query-filters/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/rules/query-filters/</guid><description>&lt;p&gt;Query parameter filters can be applied to URLs before matching against pre-rendered pages for domains that use the N7 DELIVERY module.
Please deploy your domain using the History for these changes to take effect.&lt;/p&gt;
&lt;p&gt;Follow these steps to configure Query Filter&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;NOTE: This section only for N7 clients, for non-N7 clients please refer the &lt;a href="https://docs.n7.io/sera/server-side-integration/" &gt;instructions&lt;/a&gt;
&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have at least one page group created.&lt;/li&gt;
&lt;li&gt;You must have Query Param created. If not, you can refer (&lt;a href="https://docs.n7.io/sera/settings/query-params" &gt;Query Param&lt;/a&gt;
).&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Rules&lt;/code&gt; section, then select &lt;code&gt;Query Filters&lt;/code&gt;.
&lt;img src="https://docs.n7.io/assets/images/Sera/rules/qf/list.png" alt="Step" &gt;
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Query params</title><link>https://docs.n7.io/sera/settings/query-params/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/settings/query-params/</guid><description>&lt;p&gt;This page will show you steps to configure query-parameter based condition. These then can be used at Query Filters in Rules section.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to cache and serve-from cache while ignoring the marketing/tracking query parameters (e.g. utm_*, fbclid, gclid etc.). Which will also create less cache-variations, and improve the cache-HIT percentage.&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;example.com&lt;/code&gt; domain as an example.&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Settings&lt;/code&gt; menu, and open &lt;code&gt;Query Params&lt;/code&gt; tab.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/settings/query/list.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Request Caching</title><link>https://docs.n7.io/delivery/caching/caching/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/caching/caching/</guid><description>&lt;p&gt;Refer this page to configure caching the responses. It will benefit you in improved response times, reduced load on your servers.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;
Here, we will be setting 1 day caching TTL for homepage.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;For this example to work, you should have created URL pattern based condition for homepage &lt;code&gt;^/(\?.*)*$&lt;/code&gt;. If not set, you can refer &lt;a href="https://docs.n7.io/delivery/settings/url-pattern/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Caching&lt;/code&gt; menu, then select &lt;code&gt;Request Caching&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.
&lt;img src="https://docs.n7.io/assets/images/delivery/caching-and-purge/1.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>SERA Execution History</title><link>https://docs.n7.io/sera/pages/sera-execution-history/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/pages/sera-execution-history/</guid><description>&lt;p&gt;Get the details of the pages rendered during SERA execution for the selected page group. &lt;br/&gt;&lt;/p&gt;
&lt;p&gt;You have access to last three SERA executions. Select the page group you want to see the history. You can select the relevent SERA execution from the last three run&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have at least one page group created. refer &lt;a href="https://docs.n7.io/sera/pages/page-groups/" &gt;this article&lt;/a&gt;
 for page groups&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Pages&lt;/code&gt; section, then select &lt;code&gt;Sera Execution History&lt;/code&gt;.
&lt;img src="https://docs.n7.io/assets/images/Sera/Pages/execution-history-1.png" alt="Step" &gt;
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>SERA integration on Apache Web Server</title><link>https://docs.n7.io/sera/server-side-integration/apache/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/server-side-integration/apache/</guid><description>&lt;p&gt;Kindly follow the below examples to setup the routing of bot traffic to SERA.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;All your page requests must get intercepted by below SERA routing rule
&lt;ul&gt;
&lt;li&gt;Please check your routing, caching and cache-variation policies for that&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If caching is enabled, Users and Bots should have a separate cache-variations configured. This is to not serve the SERA&amp;rsquo;s bot-optimized-content to users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Change &lt;strong&gt;SERA_ENDPOINT&lt;/strong&gt; to the SERA endpoint shared with you&lt;/li&gt;
&lt;li&gt;Change &lt;strong&gt;YOUR_TOKEN&lt;/strong&gt; to the SERA token shared with you&lt;/li&gt;
&lt;li&gt;Change &lt;strong&gt;YOUR_DOMAINS_SECRET_TOKEN&lt;/strong&gt; to the SERA token shared with you&lt;/li&gt;
&lt;li&gt;Change &lt;strong&gt;example.com (server_name)&lt;/strong&gt; to your actual domain&lt;/li&gt;
&lt;li&gt;Change &lt;strong&gt;/path/to/your/root&lt;/strong&gt; to the correct value&lt;/li&gt;
&lt;li&gt;Keep the relevant bot user-agent regex condition mentioned below - to control the traffic being sent to SERA&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-head is-button-only"&gt;
 &lt;div class="code-title is-empty"&gt;&lt;/div&gt;
 &lt;button type="button" class="code-copy-button" data-copy-code aria-label="Copy code"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-apache" data-lang="apache"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LoadModule dir_module modules/mod_dir.so
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LoadModule authz_core_module modules/mod_authz_core.so
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LoadModule proxy_module modules/mod_proxy.so
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LoadModule proxy_http_module modules/mod_proxy_http.so
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LoadModule rewrite_module modules/mod_rewrite.so
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LoadModule headers_module modules/mod_headers.so
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;LoadModule ssl_module modules/mod_ssl.so
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;VirtualHost&lt;/span&gt; &lt;span style="color:#e6db74"&gt;*:8080&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	ServerName example.com
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	DocumentRoot &lt;span style="color:#e6db74"&gt;/path/to/your/root/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;&amp;lt;Directory&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;/path/to/your/root/&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		Options Indexes FollowSymLinks
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		AllowOverride &lt;span style="color:#66d9ef"&gt;All&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		Require &lt;span style="color:#66d9ef"&gt;all&lt;/span&gt; granted
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;&amp;lt;/Directory&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#75715e"&gt;#added for sera&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	RewriteEngine &lt;span style="color:#66d9ef"&gt;On&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	SSLProxyEngine &lt;span style="color:#66d9ef"&gt;On&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#75715e"&gt;#added for sera&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;&amp;lt;IfModule&lt;/span&gt; &lt;span style="color:#e6db74"&gt;mod_headers.c&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		RequestHeader set x-nv-sera-token &lt;span style="color:#e6db74"&gt;&amp;#34;YOUR_TOKEN&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		RequestHeader set x-nv-access-key &lt;span style="color:#e6db74"&gt;&amp;#34;YOUR_DOMAINS_SECRET_TOKEN&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#75715e"&gt;#added for sera&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;&amp;lt;IfModule&lt;/span&gt; &lt;span style="color:#e6db74"&gt;mod_rewrite.c&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;lt;IfModule&lt;/span&gt; &lt;span style="color:#e6db74"&gt;mod_proxy_http.c&lt;/span&gt;&lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#75715e"&gt;#USE THIS RewriteCond - DURING POC PHASE for bot User-Agent check :&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteCond %{HTTP_USER_AGENT} (n7TestUserAgent|google\\ page\\ speed|chrome-lighthouse|google-inspectiontool|PTST|GTmetrix|n7ua) [NC,OR]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#75715e"&gt;#USE THIS RewriteCond - ON GOING LIVE ON SERA for bot User-Agent check :&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#75715e"&gt;#RewriteCond %{HTTP_USER_AGENT} (n7TestUserAgent|google\\ page\\ speed|chrome-lighthouse|google-inspectiontool|PTST|GTmetrix|n7ua|googlebot|facebookexternalhit|bingbot) [NC,OR]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#75715e"&gt;#USE THIS RewriteCond - ON GOING LIVE ON SERA for AI bots for bot User-Agent check :&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#75715e"&gt;#RewriteCond %{HTTP_USER_AGENT} (openai|gptbot|claudebot|claude-user|perplexity-user|perplexity-bot|google-extended|google-cloudvertexbot|google-notebooklm|amazonbot|duckassistbot|metaai|metabotic|meta-externalagent|copilot|baiduspider) [NC,OR]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteCond %{QUERY_STRING} _escaped_fragment_
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteCond %{REQUEST_METHOD} ^GET$
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteCond %{HTTP:X-NV-APP} ^$
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteCond %{HTTP:X-NV-SERA-BYPASS} ^$
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteCond %{REQUEST_URI} ^(|.+\.html|.+\.aspx|.+\.php)($|\?.*) [NC]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteCond %{REQUEST_URI} !.*(/static/|/_next/|/api/|/login|/logout|/account/|/wishlist/|/cart/|/checkout/|/payment/).* [NC]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteCond %{QUERY_STRING) !(^|&amp;amp;)nsbp=[^&amp;amp;]+ [NC]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#75715e"&gt;#USE THIS IF YOUR SITEMAP PAGE URLS DO NOT HAVE QUERYSTRING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteRule (.*) SERA_ENDPOINT? [P,END]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#75715e"&gt;#USE THIS IF YOUR SITEMAP PAGE URLS HAVE QUERYSTRING&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			RewriteRule (.*) SERA_ENDPOINT [P,END]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="testing-and-refinement"&gt;Testing and Refinement&lt;a class="heading-anchor" href="#testing-and-refinement" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You can test the Apache configuration on &lt;a href="https://htaccess.madewithlove.com/" target="_blank" rel="noreferrer"&gt;Fiddle&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>Steps to test the website on Nitrogen without pointing the CNAME to Nitrogen</title><link>https://docs.n7.io/miscellaneous/dns_spoofing_steps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/miscellaneous/dns_spoofing_steps/</guid><description>&lt;p&gt;You can validate your website on Nitrogen by changing the host file entry; with which the traffic from your laptop will flow through the Nitrogen platform, while the rest of the world will continue to use the current live site.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have some domain registered on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Please follow the steps shown in &lt;a href="https://world.siteground.com/kb/hosts-file/" target="_blank" rel="noreferrer"&gt;this link&lt;/a&gt;
 to do it as per the type of your system.&lt;/p&gt;</description></item><item><title>410 Responses</title><link>https://docs.n7.io/sera/pages/410-responses/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/pages/410-responses/</guid><description>&lt;p&gt;This topic is referenced in the imported documentation index, but the original Markdown page was not present in the MkDocs source bundle.&lt;/p&gt;
&lt;p&gt;Replace this placeholder when the original &lt;code&gt;410 responses&lt;/code&gt; content is available.&lt;/p&gt;</description></item><item><title>Analytics</title><link>https://docs.n7.io/sera/analytics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/analytics/</guid><description>&lt;p&gt;This screen will display you various charts with information related the selected domain e.g. Crawler Stats, Render Stats, Page Response Stats etc.&lt;/br&gt;
Please go through below articles to get the details.&lt;/p&gt;
&lt;h3 id="crawler-stats"&gt;Crawler Stats&lt;a class="heading-anchor" href="#crawler-stats" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="" &gt;Incoming crawl request count per day&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/1.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" &gt;Average time in serving the pages per crawler&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/2.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" &gt;Average time in serving the pages per page group&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/3.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="render-stats"&gt;Render Stats&lt;a class="heading-anchor" href="#render-stats" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="" &gt;Pages rendered per page group&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/4.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" &gt;Total time taken to render&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/5.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" &gt;Avg. Time taken to render per page group&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/6.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" &gt;Avg. Origin Page received time per page group&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/7.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="page-response-stats"&gt;Page Response Stats&lt;a class="heading-anchor" href="#page-response-stats" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="" &gt;Response codes per sera execution&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/8.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="" &gt;Response codes per crawler&lt;/a&gt;
&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/analytics/9.png" alt="chart" &gt;
&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Cache Effectiveness</title><link>https://docs.n7.io/account/analytics-dashboard/cache-effectiveness/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/cache-effectiveness/</guid><description>&lt;p&gt;This dashboard will show the Cache HIT percentage data for the configured domains.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;Cache Effectiveness&lt;/code&gt; chart for it.&lt;/br&gt;
If no domain is selected, the charts will show data of all domains configured on current account. Else data will be displayed for selected domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;nviztest.com&lt;/code&gt; site data as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Cache Status&lt;/code&gt;: This chart shows the Cache HIT percentage for the overall requests.&lt;/br&gt;&lt;em&gt;HIT - Cached content being served form N7 CDN.&lt;/em&gt;&lt;/br&gt;&lt;em&gt;UNCACHEABLE - Requests set to not cache at N7 CDN.&lt;/em&gt;&lt;/br&gt;&lt;em&gt;MISS - Cacheable requests reached to the Origin to fetch the content.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="https://docs.n7.io/assets/images/common/account/21.png" alt="Chart" &gt;
&lt;/p&gt;</description></item><item><title>CSP</title><link>https://docs.n7.io/delivery/security/headers/csp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/headers/csp/</guid><description>&lt;p&gt;This page will show you the step to configure CSP (Content-Security-Policy) response header for your site. Refer this &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy" target="_blank" rel="noreferrer"&gt;MDN link&lt;/a&gt;
 for more details.
&lt;/br&gt;&lt;/br&gt;
It allows website administrators to control resources the user agent is allowed to load for a given page. This helps guard against cross-site scripting attacks (Cross-site_scripting).&lt;/br&gt;
&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Security&lt;/code&gt; menu, and open &lt;code&gt;CSP&lt;/code&gt; tab.&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Domains</title><link>https://docs.n7.io/rdx/domains/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/rdx/domains/</guid><description>&lt;p&gt;This page will show you how can you configure a domain on RDX.&lt;/br&gt;
&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="sections"&gt;Sections&lt;a class="heading-anchor" href="#sections" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Click on &lt;code&gt;Domains&lt;/code&gt; menu. You will be shown a screen to set/unset RDX data collection, instructions to configure RDX on any domain, and adding new domain on RDX:&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://docs.n7.io/assets/images/RDX/13.png" alt="RDX Domains screen" &gt;
&lt;/br&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Last Event&lt;/code&gt;: When did the last data collection was done.&lt;/p&gt;</description></item><item><title>Domains listing page</title><link>https://docs.n7.io/account/domains-listing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/domains-listing/</guid><description>&lt;p&gt;This screen will give you clear and current status of all the domains that you have configured on Nitrogen.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have some domains registered on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on your &lt;code&gt;ACCOUNT&lt;/code&gt; name at top-right corner to open account-level features and then select &lt;code&gt;DOMAINS&lt;/code&gt; tab. You will be shown a screen with list of all the domains registered on Nitrogen.&lt;/p&gt;</description></item><item><title>Header conditions</title><link>https://docs.n7.io/delivery/settings/header/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/settings/header/</guid><description>&lt;p&gt;This page will show you steps to configure header based condition. These then can be used at multiple places such as rewrite/caching/blocking rules.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to pass all requests from bots to &lt;a href="https://prerender.io/" target="_blank" rel="noreferrer"&gt;https://prerender.io/&lt;/a&gt;
.&lt;/br&gt;
Here, we can achieve it by identifying all Bot requests by value of user-agent request header.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: Header conditions will work only on &lt;b&gt;request&lt;/b&gt;-headers.&lt;/br&gt;
For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example. Here, we will only be using &lt;code&gt;googlebot&lt;/code&gt; and &lt;code&gt;bingbot&lt;/code&gt; user-agent for simplicity.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>History</title><link>https://docs.n7.io/aio/history/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/history/</guid><description>&lt;p&gt;This screen will display you list of all the configuration versions pushed to live. You can deploy your current draft here, compare versions, or rollback to any previous version.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/history/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>History</title><link>https://docs.n7.io/avo/history/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/avo/history/</guid><description>&lt;p&gt;This screen will display you list of all the configuration versions pushed to live. You can deploy your current draft here, compare versions, or rollback to any previous version.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/history/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>Human-Detector (HD): Configuration Guide</title><link>https://docs.n7.io/delivery/security/human-detector/3-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/human-detector/3-configuration/</guid><description>&lt;h2 id="typical-use-cases"&gt;Typical Use-Cases&lt;a class="heading-anchor" href="#typical-use-cases" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Account Pages&lt;/li&gt;
&lt;li&gt;Cart Pages&lt;/li&gt;
&lt;li&gt;Checkout Pages&lt;/li&gt;
&lt;li&gt;Other sensitive Pages/APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A domain must be configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;Website or mobile app must integrate the HD script or token-fetching step.&lt;/li&gt;
&lt;li&gt;URL pattern must be set for the desired pages (e.g., ^/cart(?.&lt;em&gt;)&lt;/em&gt;$).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="configuration-steps"&gt;Configuration Steps&lt;a class="heading-anchor" href="#configuration-steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Go to the Security menu and select the Human Detector tab.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Choose the domain from the dropdown list.&lt;/p&gt;</description></item><item><title>Maintenance page</title><link>https://docs.n7.io/delivery/routing/maintenance-page/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/maintenance-page/</guid><description>&lt;p&gt;Refer this page to show maintenance page to users. You can use during your deployment/infra-upgrade activities.
&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have a maintenance image/file uploaded on Nitrogen. Refer &lt;a href="https://docs.n7.io/delivery/routing/static-content/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Domains&lt;/code&gt; menu, then select &lt;code&gt;Maintenance Page&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.&lt;/p&gt;</description></item><item><title>Nitrogen Headers</title><link>https://docs.n7.io/common/nitrogen-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/common/nitrogen-headers/</guid><description>&lt;h2 id="request-headers"&gt;Request headers&lt;a class="heading-anchor" href="#request-headers" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Your server will receive following request headers from Nitrogen :&lt;/p&gt;
&lt;h3 id="x-nv-true-client-ip"&gt;X-Nv-True-Client-Ip&lt;a class="heading-anchor" href="#x-nv-true-client-ip" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This &lt;strong&gt;request&lt;/strong&gt; header contains the IP of user&amp;rsquo;s device.&lt;/p&gt;
&lt;h3 id="x-nv-geo-country"&gt;X-Nv-Geo-Country&lt;a class="heading-anchor" href="#x-nv-geo-country" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This &lt;strong&gt;request&lt;/strong&gt; header contains 2 letter standard country code of user&amp;rsquo;s request country.&lt;/p&gt;
&lt;h3 id="x-nv-device"&gt;X-Nv-Device&lt;a class="heading-anchor" href="#x-nv-device" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This &lt;strong&gt;request&lt;/strong&gt; header contains 2 letter device-type-code.&lt;/br&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;- `dt`: Desktop
- `sp`: SmartPhone
- `tb`: Tablet
- `st`: SmartTV
- `bt`: Bot
- `ot`: Other
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id="x-nv-geo-lat"&gt;X-Nv-Geo-Lat&lt;a class="heading-anchor" href="#x-nv-geo-lat" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This &lt;strong&gt;request&lt;/strong&gt; header latitude of user&amp;rsquo;s request location.&lt;/p&gt;</description></item><item><title>Nitrogen purge API</title><link>https://docs.n7.io/delivery/caching/purge-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/caching/purge-api/</guid><description>&lt;p&gt;You can integrate purge API in your build script to purge the relevant/changed resource’s cache.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;
&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have caching configured. If not, you can refer &lt;a href="https://docs.n7.io/delivery/caching/caching/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;li&gt;You must have a service account configured with &lt;strong&gt;Editor&lt;/strong&gt; access. If not, you can refer &lt;a href="https://docs.n7.io/account/users/create-api-keys/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This involves 2 steps: getting the list of all purge-groups, and then configuring the purge API for the required one.&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Secret Token</title><link>https://docs.n7.io/sera/rules/secret-token/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/rules/secret-token/</guid><description>&lt;p&gt;Update your web server configuration to include the following header for authenticating requests routed to sera.n7.io
If your domain is using the N7 DELIVERY module, this will be handled for you automatically.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;NOTE: This section only for N7 clients, for non-N7 clients please refer the &lt;a href="https://docs.n7.io/sera/server-side-integration/" &gt;instructions&lt;/a&gt;
 to setup the secret token into your application&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://docs.n7.io/assets/images/Sera/rules/token.png" alt="Step" &gt;
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>SERA integration on Cloudflare</title><link>https://docs.n7.io/sera/server-side-integration/cloudflare/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/server-side-integration/cloudflare/</guid><description>&lt;p&gt;Kindly follow the below steps to setup the routing of bot traffic to SERA.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;This configuration will only work if site DNS is in Proxy mode&lt;/strong&gt;&lt;/em&gt;&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/Sera/integration/cloudflare/1.png" alt="Step" &gt;
&lt;br/&gt;
&lt;em&gt;&lt;strong&gt;Else, if your pages are not cached, you can set it at origin server (&lt;a href="https://docs.n7.io/sera/server-side-integration/nginx" &gt;Nginx&lt;/a&gt;
, &lt;a href="https://docs.n7.io/sera/server-side-integration/apache" &gt;Apache&lt;/a&gt;
, &lt;a href="https://docs.n7.io/sera/server-side-integration/custom" &gt;custom&lt;/a&gt;
 etc.)&lt;/strong&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;All your page requests must get intercepted by Cloudflare origin-rule or Worker
&lt;ul&gt;
&lt;li&gt;Please check your routing, caching and cache-variation policies for that&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Users and Bots should have a separate cache-variations configured. This is to not serve the SERA&amp;rsquo;s bot-optimized-content to users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Select the steps according to your plan:&lt;/p&gt;</description></item><item><title>Settings</title><link>https://docs.n7.io/sera/pages/settings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/pages/settings/</guid><description>&lt;p&gt;This screen will show the concurrency and user-agent settings for the SERA process. User-Agent string is used while crawling the pages for SERA.&lt;/p&gt;
&lt;p&gt;Note: Concurrency value must be within the range of 1 to 100.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://docs.n7.io/assets/images/Sera/Pages/settings.png" alt="Step" &gt;
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>URL patterns</title><link>https://docs.n7.io/sera/settings/url-patterns/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/settings/url-patterns/</guid><description>&lt;p&gt;This page will show you steps to configure request patterns. These then can be used at multiple places such as rewrite/caching/blocking rules.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to proxy a set of URLs to a certain endpoint, or use in a certain condition group.&lt;br/&gt;
&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;example.com&lt;/code&gt; domain as an example.&lt;/br&gt;
Here, we will be defining a URL pattern for Non SERA requests patterns&lt;/br&gt;&lt;/p&gt;</description></item><item><title>User request flow through N7 to Origin</title><link>https://docs.n7.io/miscellaneous/n7-origin_flow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/miscellaneous/n7-origin_flow/</guid><description>&lt;p&gt;This diagram shows the flow of user requests through N7 to origin servers&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="details"&gt;Details&lt;a class="heading-anchor" href="#details" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://docs.n7.io/assets/images/miscellaneous/N7-to-Origin_flow.png" alt="Flow" &gt;
&lt;/p&gt;
&lt;p&gt;Here, when the request is made from user device, the DNS resolves it to Nitrogen.&lt;br/&gt;
If the response for this request is cached at Nitrogen CDN (at the CDN PoP near to user), it is returned back to user from there itself.&lt;br/&gt;
Else, the request is proxied to Origin. The response is then optimized by the respective modules if enabled e.g. images by AIO, videos by AVO.&lt;br/&gt;
(If WAF is opted, the request is terminated their itself if deemed malicious by it.)&lt;/p&gt;</description></item><item><title>DoS Attacks</title><link>https://docs.n7.io/account/analytics-dashboard/dos-attacks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/dos-attacks/</guid><description>&lt;p&gt;This dashboard will show the top input traffic details and the blocked requests count at N7 WAF for the configured domains.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;DoS Attacks&lt;/code&gt; chart for it.&lt;/br&gt;
If no domain is selected, the charts will show data of all domains configured on current account. Else data will be displayed for selected domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;nviztest.com&lt;/code&gt; site data as an example.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>HSTS</title><link>https://docs.n7.io/delivery/security/headers/hsts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/headers/hsts/</guid><description>&lt;p&gt;This page will show you steps to configure HSTS (Strict-Transport-Security) response header for your site. Refer this &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security" target="_blank" rel="noreferrer"&gt;MDN link&lt;/a&gt;
 for more details.
&lt;/br&gt;&lt;/br&gt;
HSTS response header informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;When a browser knows that a domain has enabled HSTS, it does two things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Always uses an https:// connection, even when clicking on an http:// link or after typing a domain into the location bar without specifying a protocol.&lt;/li&gt;
&lt;li&gt;Removes the ability for users to click through warnings about invalid certificates.
&lt;/br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Image Config</title><link>https://docs.n7.io/aio/image-config/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/image-config/</guid><description>&lt;p&gt;Refer this page to provide the image URL pattern that will be processed by AIO.
&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Domains&lt;/code&gt; menu, then select &lt;code&gt;Image Config&lt;/code&gt; tab.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Request Pattern&lt;/code&gt;: Select the URL pattern for Images from the dropdown.&lt;/br&gt;
if the default URL pattern is not suitable to your case, you can create your own by following &lt;a href="https://docs.n7.io/delivery/settings/url-pattern" &gt;these steps&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>IP Addresses</title><link>https://docs.n7.io/delivery/settings/ip/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/settings/ip/</guid><description>&lt;p&gt;This page will show you steps to configure conditions based on request IP. These then can be used at multiple places such as rewrite/caching/blocking rules.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to block the IPs you found making malicious requests to your site.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example. Here, we will be blocking all requests from a blacklisted IP.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Settings&lt;/code&gt; menu, and open &lt;code&gt;IP Addresses&lt;/code&gt; tab.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/common/conditions/ip/1.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Log-Extracts</title><link>https://docs.n7.io/account/log-extracts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/log-extracts/</guid><description>&lt;p&gt;This is to provide the access logs of requests received for your domains at Nitrogen Edge servers.
You can apply filters and get the logs for a specific domain(s) for the required timeframe.&lt;/p&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on your &lt;code&gt;ACCOUNT&lt;/code&gt; name at top-right corner to open account-level features.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Logs Extracts&lt;/code&gt;.
&lt;em&gt;&amp;ldquo;Refresh&amp;rdquo; - To update the requested logs status as it will take some time to process once requested.&lt;br/&gt;
Click on &amp;ldquo;New log Extraction Request&amp;rdquo; to initiate the log request.&lt;/em&gt;
&lt;img src="https://docs.n7.io/assets/images/common/account/12.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>N7 Support Severity Prioritization Matrix and Response TAT</title><link>https://docs.n7.io/miscellaneous/n7-support-tat/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/miscellaneous/n7-support-tat/</guid><description>&lt;p&gt;For any technical issues/support, please send mail to &lt;a href="mailto:support@n7.io" target="_blank" rel="noreferrer"&gt;support@n7.io&lt;/a&gt;
&lt;br/&gt;
The Nitrogen care team continuously monitors your website for any issues, and sends alerts for any exceptional scenario observed.&lt;br/&gt;
&lt;em&gt;Please mark e-mails from &lt;a href="mailto:support@n7.io" target="_blank" rel="noreferrer"&gt;support@n7.io&lt;/a&gt;
 as not junk, and add the address to the safe-senders list.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="details"&gt;Details&lt;a class="heading-anchor" href="#details" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://docs.n7.io/assets/images/miscellaneous/N7_support_TATs.png" alt="N7 Support Severity Prioritization Matrix and Response TAT" &gt;
&lt;/p&gt;</description></item><item><title>Nitrogen Headers</title><link>https://docs.n7.io/delivery/routing/nitrogen-headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/nitrogen-headers/</guid><description>&lt;p&gt;Refer this page to change the Nitrogen header names to the ones used in your code using. This feature is useful when you are migrating to Nitrogen from similar service, and are using these headers.
&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Domains&lt;/code&gt; menu, then select &lt;code&gt;Nitrogen Headers&lt;/code&gt; tab.
&lt;img src="https://docs.n7.io/assets/images/delivery/headers/1.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Origins</title><link>https://docs.n7.io/common/origins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/common/origins/</guid><description>&lt;p&gt;This screen will show you list of endpoints configured for your domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;Typical use case with multiple origins is setting up proxies to different servers based on URL pattern&lt;/br&gt;
e.g. API / static-assets / admin / CMS / pre-render etc.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have some domain registered on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Select the respective &lt;code&gt;Account&lt;/code&gt; and &lt;code&gt;Domain&lt;/code&gt; from the dropdowns at the top right corner.&lt;/p&gt;</description></item><item><title>Purge logs</title><link>https://docs.n7.io/delivery/caching/purge-logs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/caching/purge-logs/</guid><description>&lt;p&gt;You can see here the logs of the purge activity by your team.&lt;/br&gt;
This can also help you in identifying sudden increase in requests if purge was performed.
&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;You should have caching configured. If not, you can refer &lt;a href="https://docs.n7.io/delivery/caching/caching/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;li&gt;You should have performed purge. If not, you can refer &lt;a href="https://docs.n7.io/delivery/caching/purge/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Caching&lt;/code&gt; menu, then select &lt;code&gt;Purge Logs&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/delivery/caching-and-purge/11.png" alt="Step" &gt;
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>RDX Settings</title><link>https://docs.n7.io/rdx/settings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/rdx/settings/</guid><description>&lt;p&gt;This page will show you how can you change the RDX settings&lt;/br&gt;
&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have RDX configured on your domain. If not, please refer &lt;a href="https://docs.n7.io/rdx/overview/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="sections"&gt;Sections&lt;a class="heading-anchor" href="#sections" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Click on &lt;code&gt;RDX Settings&lt;/code&gt; menu. Then select appropriate domain from the domains dropdown. You will be shown following sections:&lt;/p&gt;</description></item><item><title>SERA integration on CloudFront</title><link>https://docs.n7.io/sera/server-side-integration/cloudfront/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/server-side-integration/cloudfront/</guid><description>&lt;p&gt;Kindly follow the below steps to setup the routing of bot traffic to SERA.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Your origin server does not need host header to manage routing.&lt;br/&gt;
This is because while forwarding bot requests to SERA, you need to send the SERA&amp;rsquo;s &lt;code&gt;host&lt;/code&gt; header instead of your domain&amp;rsquo;s header on the request (to avoid SAN error).&lt;br/&gt;
For this, you need to attach &lt;code&gt;AllViewerExceptHostHeader&lt;/code&gt; as &lt;code&gt;Origin request policy&lt;/code&gt; to the respective behavior that&amp;rsquo;ll be forwarding the bot request. In this case, if your origin is expecting &lt;code&gt;host&lt;/code&gt; header to route the request, it will fail.&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Sera Render API</title><link>https://docs.n7.io/sera/sera-render-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/sera-render-api/</guid><description>&lt;p&gt;An on-demand API can be used to submit page URLs to SERA for rendering, allowing you to integrate with tools and automatically render frequently updated sites via scripts or tools.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen.&lt;/li&gt;
&lt;li&gt;Your target domain on which you want to call SERA on demand api must have been registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have a service account configured with &lt;strong&gt;Editor&lt;/strong&gt; access. If not, you can refer &lt;a href="https://docs.n7.io/account/users/create-api-keys/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="render-api-request"&gt;Render API Request&lt;a class="heading-anchor" href="#render-api-request" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="render-api-request-details"&gt;Render API Request Details&lt;a class="heading-anchor" href="#render-api-request-details" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;API&lt;/strong&gt; :&lt;/p&gt;</description></item><item><title>Video Routing</title><link>https://docs.n7.io/avo/video-route/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/avo/video-route/</guid><description>&lt;p&gt;Here you specify the path from where the videos will be served.&lt;/p&gt;
&lt;p&gt;For demo purpose, we will be using &lt;a href="https://www.nviztest.com" target="_blank" rel="noreferrer"&gt;www.nviztest.com&lt;/a&gt;
 domain as an example.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have your domain registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have AVO enabled on your domain. Refer &lt;a href="https://docs.n7.io/avo/api-integration/" &gt;this article&lt;/a&gt;
 if not done.&lt;/li&gt;
&lt;li&gt;You must have a created a URL pattern for videos. If you have not, please refer &lt;a href="https://docs.n7.io/delivery/settings/url-pattern/" &gt;this article&lt;/a&gt;
.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;AVO&lt;/code&gt; module.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/AVO/video-routing/01.png" alt="Screenshot" &gt;
&lt;br/&gt;&lt;/p&gt;</description></item><item><title>Analytics</title><link>https://docs.n7.io/delivery/analytics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/analytics/</guid><description>&lt;p&gt;This screen will display you various charts with information related the selected domain e.g. errors/caching/bandwidth etc.&lt;/br&gt;
Please go through below articles to get the details.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/application-errors" &gt;Application Errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/bandwidth-consumption" &gt;Bandwidth Consumption&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/cache-effectiveness" &gt;Cache Effectiveness&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/dos-attacks" &gt;DoS Attacks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/missing-assets" &gt;Missing Assets&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/traffic-pattern-summary" &gt;Traffic Pattern Summary&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/unplanned-outage" &gt;Unplanned Outage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/security" &gt;Security&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/human-detector" &gt;Human Detector&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/metrics-api" &gt;Analytics Api&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AVO processing steps</title><link>https://docs.n7.io/avo/api-integration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/avo/api-integration/</guid><description>&lt;p&gt;Below are the stesps to process/optimize the videos using N7 AVO.&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;For demo purpose, we will be using &lt;em&gt;&lt;a href="https://www.nviztest.com" target="_blank" rel="noreferrer"&gt;www.nviztest.com&lt;/a&gt;
&lt;/em&gt; domain as an example.&lt;br/&gt;
We will process a video from source-domain (&lt;em&gt;static.nviztest.com&lt;/em&gt;):&lt;br/&gt;
e.g. https://&lt;strong&gt;static&lt;/strong&gt;.nviztest.com&lt;u&gt;/videos/vid101.mp4&lt;/u&gt;&lt;br/&gt;
After processing, it will then be accessible on target-domain (&lt;em&gt;&lt;a href="https://www.nviztest.com" target="_blank" rel="noreferrer"&gt;www.nviztest.com&lt;/a&gt;
&lt;/em&gt;) with the &lt;u&gt;same path as source&lt;/u&gt;:&lt;br/&gt;
i.e. https://&lt;strong&gt;www&lt;/strong&gt;.nviztest.com&lt;u&gt;/videos/vid101.mp4&lt;/u&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You must have an account on Nitrogen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Your target domain on which you want to configure AVO must have been registered on Nitrogen.&lt;/p&gt;</description></item><item><title>Change Log</title><link>https://docs.n7.io/account/change-log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/change-log/</guid><description>&lt;p&gt;This is to check your account activity.&lt;/p&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on your &lt;code&gt;ACCOUNT&lt;/code&gt; name at top-right corner to open account-level features.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Change Log&lt;/code&gt;.
&lt;em&gt;Click on calender icons to select the &amp;lsquo;start date/time&amp;rsquo; and &amp;rsquo;end date/time&amp;rsquo; and click on &amp;lsquo;Retrieve&amp;rsquo;.&lt;/em&gt;
&lt;img src="https://docs.n7.io/assets/images/common/account/16.png" alt="Step" &gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You will now see the change logs of your account.
&lt;em&gt;Note: You can use filters as shown in below screenshot.&lt;/em&gt;
&lt;img src="https://docs.n7.io/assets/images/common/account/17.png" alt="Step" &gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Delete SERA Render Storage API</title><link>https://docs.n7.io/sera/delete-sera-render-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/delete-sera-render-api/</guid><description>&lt;p&gt;This API enables you to purge cached renders and delete SERA-rendered pages associated with a specific URL. It is particularly useful when a page has been removed and its rendered artifacts need to be cleaned up.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen.&lt;/li&gt;
&lt;li&gt;Your target domain must have been registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have a service account configured with &lt;strong&gt;Editor&lt;/strong&gt; access. If not, you can refer &lt;a href="https://docs.n7.io/account/users/create-api-keys/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="delete-render-storage-api-request"&gt;Delete Render Storage API Request&lt;a class="heading-anchor" href="#delete-render-storage-api-request" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="delete-render-storage-api-request-details"&gt;Delete Render Storage API Request Details&lt;a class="heading-anchor" href="#delete-render-storage-api-request-details" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;API&lt;/strong&gt; :&lt;/p&gt;</description></item><item><title>HTTP methods</title><link>https://docs.n7.io/delivery/settings/method/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/settings/method/</guid><description>&lt;p&gt;Here, you will find steps to configure conditions based on request method. These then can be used at multiple places such as rewrite/caching/blocking rules.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to block TRACE, PATCH, CONNECT methods for security purpose.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example. Here, we will be creating method-group of &lt;code&gt;TRACE, PATCH, CONNECT&lt;/code&gt; methods to block them.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Settings&lt;/code&gt; menu, and open &lt;code&gt;HTTP Methods&lt;/code&gt; tab.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/common/conditions/method/1.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Human Detector</title><link>https://docs.n7.io/account/analytics-dashboard/human-detector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/human-detector/</guid><description>&lt;p&gt;This dashboard will show you Analytic data for Human Detector.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;Human Detector&lt;/code&gt; chart for it.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain data as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;For this example to work, you should have Human-Detector enabled on the domain. If not set, you can refer &lt;a href="https://docs.n7.io/delivery/security/human-detector/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Actions Taken&lt;/code&gt;: This chart shows per day count of occurrences per HD block mode.&lt;/p&gt;</description></item><item><title>Optimization</title><link>https://docs.n7.io/aio/optimizations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/optimizations/</guid><description>&lt;p&gt;Here you can set the quality parameters based on network, screen and computer power.&lt;/p&gt;
&lt;p&gt;For demo purpose, we will be using &lt;a href="https://www.nviztest.com" target="_blank" rel="noreferrer"&gt;www.nviztest.com&lt;/a&gt;
 domain as an example.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have your domain registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have AIO enabled on your domain. Refer &lt;a href="https://docs.n7.io/aio/image-config/" &gt;this article&lt;/a&gt;
 if not done already.&lt;/li&gt;
&lt;li&gt;You must have enabled &lt;code&gt;Image Resizing&lt;/code&gt; in &lt;code&gt;Image Config&lt;/code&gt;. Refer &lt;a href="https://docs.n7.io/aio/image-config/" &gt;this article&lt;/a&gt;
 for it.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Edit the default image optimization quality values as per your requirement.&lt;br/&gt;
You can enable/disable the variant creation for a specific image type by toggling the support switch above the quality table.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/AIO/optimizations/aio-image-optimizations.png" alt="Screenshot" &gt;
&lt;/p&gt;</description></item><item><title>Origins</title><link>https://docs.n7.io/delivery/routing/origins/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/origins/</guid><description>&lt;p&gt;This screen will show you list of endpoints configured for your domain.&lt;/br&gt;
Please go through &lt;a href="https://docs.n7.io/common/origins/" &gt;this article&lt;/a&gt;
 to get the details.&lt;/p&gt;</description></item><item><title>Purge cache</title><link>https://docs.n7.io/delivery/caching/purge/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/caching/purge/</guid><description>&lt;p&gt;Please follow these steps to purge Nitrogen cache for the required resources.
&lt;/br&gt;&lt;/br&gt;
*Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;li&gt;You should have caching configured. If not, you can refer &lt;a href="https://docs.n7.io/delivery/caching/caching/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Caching&lt;/code&gt; menu, then select &lt;code&gt;Purge Cache&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.&lt;/p&gt;</description></item><item><title>SERA integration on other web-servers</title><link>https://docs.n7.io/sera/server-side-integration/custom/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/server-side-integration/custom/</guid><description>&lt;p&gt;If you are using a web-server for which SERA integration steps are not provided here, just follow the steps below.&lt;br&gt;
Sending requests to SERA is simple: all you need is a SERA token and a simple proxy configuration.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;All your page requests must get intercepted by below SERA routing rule
&lt;ul&gt;
&lt;li&gt;Please check your routing, caching and cache-variation policies for that&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If caching is enabled, Users and Bots should have a separate cache-variations configured. This is to not serve the SERA&amp;rsquo;s bot-optimized-content to users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="1-identify-matching-requests"&gt;1. Identify Matching Requests&lt;a class="heading-anchor" href="#1-identify-matching-requests" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;h4 id="11-request-method"&gt;1.1 Request-Method&lt;a class="heading-anchor" href="#11-request-method" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Only the GET requests should be sent to SERA.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="12-user-agent-pattern"&gt;1.2 User-Agent Pattern&lt;a class="heading-anchor" href="#12-user-agent-pattern" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Requests matching only the mentioned bot user-agents should be sent to SERA.&lt;br&gt;
You can define a regular expression or other matching criteria to identify requests that should be proxied to SERA.&lt;/p&gt;</description></item><item><title>Whitelisting Nitrogen CDN Requests</title><link>https://docs.n7.io/miscellaneous/whitelisting-nitrogen-requests/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/miscellaneous/whitelisting-nitrogen-requests/</guid><description>&lt;p&gt;To ensure your servers accept traffic from Nitrogen, you must whitelist our requests. We strongly recommend whitelisting by request header, as it provides a more secure and flexible setup.&lt;br/&gt;
For maximum security, you should configure your servers to allow traffic only from Nitrogen.&lt;/p&gt;
&lt;h2 id="whitelist-by-request-header-recommended"&gt;Whitelist by Request Header (Recommended)&lt;a class="heading-anchor" href="#whitelist-by-request-header-recommended" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Configure your firewall or load balancer to allow incoming requests that contain &lt;strong&gt;one&lt;/strong&gt; of the following HTTP headers.&lt;/p&gt;</description></item><item><title>XSS</title><link>https://docs.n7.io/delivery/security/headers/xss/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/security/headers/xss/</guid><description>&lt;p&gt;This page will show you the options to configure XSS (Cross-Site-Scripting) response headers for your site.
&lt;/br&gt;&lt;/br&gt;
Cross-site scripting (XSS) is a security exploit which allows an attacker to inject into a website malicious client-side code. These attacks succeed if the Web app does not employ enough validation or encoding. Refer this &lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/Cross-site_scripting" target="_blank" rel="noreferrer"&gt;MDN link&lt;/a&gt;
 for more details.&lt;/br&gt;
&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Security&lt;/code&gt; menu, and open &lt;code&gt;XSS&lt;/code&gt; tab.&lt;br/&gt;&lt;/p&gt;</description></item><item><title>AIO Parameters</title><link>https://docs.n7.io/aio/query-parameters/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/query-parameters/</guid><description>&lt;p&gt;Refer this page to instruct AIO to resize/crop/merge the image based on the value provided in querystring.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.n7.io&lt;/code&gt; domain as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have AIO enabled, please refer &lt;a href="https://docs.n7.io/delivery/settings/url-pattern/" &gt;this article&lt;/a&gt;
.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can add the following query parameters in the image URL to scale the image based on width/height, to crop, to cut, to merge, or to serve original image without optimizing it:&lt;/p&gt;</description></item><item><title>Analytics API</title><link>https://docs.n7.io/account/analytics-dashboard/metrics-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/metrics-api/</guid><description>&lt;p&gt;This API provides daily requests, bandwidth usage metrics for a specified domain. It helps users monitor and analyze requests, bandwidth consumption to gain insights into network performance.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an account on Nitrogen.&lt;/li&gt;
&lt;li&gt;Your target domain on which you want to get bandwith or requests, must have been registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have a service account configured with &lt;strong&gt;Editor&lt;/strong&gt; access. If not, you can refer &lt;a href="https://docs.n7.io/account/users/create-api-keys/" &gt;this article&lt;/a&gt;
 for the same.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="api-request--response"&gt;API Request &amp;amp; Response&lt;a class="heading-anchor" href="#api-request--response" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="endpoint"&gt;Endpoint&lt;a class="heading-anchor" href="#endpoint" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-head is-button-only"&gt;
 &lt;div class="code-title is-empty"&gt;&lt;/div&gt;
 &lt;button type="button" class="code-copy-button" data-copy-code aria-label="Copy code"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;POST https://dash.n7.io/api/v2/sense/metric/bandwidth&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;or&lt;/p&gt;</description></item><item><title>Overview of Video Catalog</title><link>https://docs.n7.io/avo/video-catalog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/avo/video-catalog/</guid><description>&lt;p&gt;Here you can find all variations of the optimized videos.&lt;/p&gt;
&lt;p&gt;For demo purpose, we will be using &lt;a href="https://www.nviztest.com" target="_blank" rel="noreferrer"&gt;www.nviztest.com&lt;/a&gt;
 domain as an example.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have your domain registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have AVO enabled on your domain. Refer &lt;a href="https://docs.n7.io/avo/api-integration/" &gt;this article&lt;/a&gt;
 if not done.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;1.Click on &lt;code&gt;video catalog&lt;/code&gt; menu.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/AVO/video-catalog/01.jpg" alt="Screenshot" &gt;
&lt;/p&gt;
&lt;p&gt;2.Select appropriate domain from the domains dropdown at top right corner.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/AVO/video-catalog/02.jpg" alt="Screenshot" &gt;
&lt;/p&gt;
&lt;p&gt;3.Here you can find all variations of the optimized videos by typing the necessary video name into the search bar.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/AVO/video-catalog/03.jpg" alt="Screenshot" &gt;
&lt;/p&gt;</description></item><item><title>Query params</title><link>https://docs.n7.io/delivery/settings/query-params/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/settings/query-params/</guid><description>&lt;p&gt;This page will show you steps to configure query-parameter based condition. These then can be used at multiple places such as rewrite/caching/blocking rules.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to cache and serve-from cache while ignoring the marketing/tracking query parameters (e.g. utm_*, fbclid, gclid etc.). Which will also create less cache-variations, and improve the cache-HIT percentage.&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example. Here, we will create a query-param condition with regex pattern &lt;code&gt;(utm_|fbclid|gclid)&lt;/code&gt; to be used to ignore them while caching/serving-from-cache.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Security Rate-Limit scenarios</title><link>https://docs.n7.io/miscellaneous/security-rate-limits/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/miscellaneous/security-rate-limits/</guid><description>&lt;p&gt;The following scenarios describe how &lt;strong&gt;rate limits&lt;/strong&gt; are enforced for incoming requests.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;The Security module must be opted in and enabled for your domain.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="details"&gt;Details&lt;a class="heading-anchor" href="#details" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;They illustrate system behavior when a &lt;strong&gt;ban is not enabled (soft limit)&lt;/strong&gt; versus when a &lt;strong&gt;ban is triggered (hard limit)&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="scenario-1-soft-rate-limit-no-ban"&gt;&lt;strong&gt;Scenario 1: Soft Rate Limit (No Ban)&lt;/strong&gt;&lt;a class="heading-anchor" href="#scenario-1-soft-rate-limit-no-ban" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Policy Example:&lt;/strong&gt; Limit of X requests per Y minutes per IP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Behavior:&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Requests are tracked in a rolling time window (e.g., 60 minutes).&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;Up to X requests from a single IP are allowed during the window.&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;Any request exceeding the limit results in a &lt;code&gt;429 Too Many Requests&lt;/code&gt; response.&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;No ban is imposed — the IP is not blocked.&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;As older requests fall out of the time window, new requests are allowed again.&lt;br/&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flow Example:&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Time 00:00 – 1st request ➜ Allowed&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;Time 00:45 – Xth request ➜ Allowed&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;Time 00:46 – X+1th request ➜ 429&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;Time 01:01 – Oldest request expires ➜ 1 new request allowed&lt;br/&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="scenario-2-hard-rate-limit-with-ban"&gt;&lt;strong&gt;Scenario 2: Hard Rate Limit (with Ban)&lt;/strong&gt;&lt;a class="heading-anchor" href="#scenario-2-hard-rate-limit-with-ban" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Policy Example:&lt;/strong&gt; Limit of X requests per Y minutes per IP ➜ Temporary ban (e.g., 15 minutes) if exceeded&lt;/p&gt;</description></item><item><title>SERA integration on Fastly</title><link>https://docs.n7.io/sera/server-side-integration/fastly/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/server-side-integration/fastly/</guid><description>&lt;p&gt;Kindly follow the below steps to setup the routing of bot traffic to SERA.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;All your page requests must get intercepted by below SERA routing rule
&lt;ul&gt;
&lt;li&gt;Please check your routing, caching and cache-variation policies for that&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If caching is enabled, Users and Bots should have a separate cache-variations configured. This is to not serve the SERA&amp;rsquo;s bot-optimized-content to users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Kindly follow the below examples to setup the routing of bot traffic to SERA.&lt;/p&gt;</description></item><item><title>Image-Catalog</title><link>https://docs.n7.io/aio/image-catalog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/image-catalog/</guid><description>&lt;p&gt;Here you can find all variations of the optimized images.&lt;/p&gt;
&lt;p&gt;For demo purpose, we will be using &lt;a href="https://www.nviztest.com" target="_blank" rel="noreferrer"&gt;www.nviztest.com&lt;/a&gt;
 domain as an example.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have your domain registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;You must have AIO enabled on your domain. Refer &lt;a href="https://docs.n7.io/aio/image-config/" &gt;this article&lt;/a&gt;
 if not done already.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Image catalog&lt;/code&gt; menu and select appropriate domain from the domains dropdown at top right corner.&lt;br/&gt;
&lt;img src="https://docs.n7.io/assets/images/AIO/image-catalog/aio-image-catalog-01.png" alt="Screenshot" &gt;
&lt;/p&gt;</description></item><item><title>Missing Assets</title><link>https://docs.n7.io/account/analytics-dashboard/missing-assets/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/missing-assets/</guid><description>&lt;p&gt;This dashboard will show the 404 status code request details for the configured domains.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;Missing Assets&lt;/code&gt; chart for it.&lt;/br&gt;
If no domain is selected, the charts will show data of all domains configured on current account. Else data will be displayed for selected domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;nviztest.com&lt;/code&gt; site data as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Page Not Found - 404 Request&lt;/code&gt;: This chart shows the count of 404 status code requests.&lt;/p&gt;</description></item><item><title>Reordering rules</title><link>https://docs.n7.io/delivery/routing/reorder-rules/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/reorder-rules/</guid><description>&lt;p&gt;Using the steps given here, you can order the configured rules.&lt;/br&gt;
This is important as, Nitrogen matches the rules in the provided order. And, the first matched rule is applied.&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;
Here, we will be moving &lt;code&gt;proxy everything else to n7-&lt;/code&gt; rule at the end. So that, it will match to all the requests that did not match other URL-specific proxy rules.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>SERA integration on Nginx</title><link>https://docs.n7.io/sera/server-side-integration/nginx/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/server-side-integration/nginx/</guid><description>&lt;p&gt;Kindly follow the below examples to setup the routing of bot traffic to SERA.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;This configuration will only work if you have set &lt;code&gt;proxy_ssl_server_name on;&lt;/code&gt; in server block&lt;/strong&gt;&lt;/em&gt;&lt;br/&gt;&lt;/li&gt;
&lt;li&gt;All your page requests must be reaching nginx
&lt;ul&gt;
&lt;li&gt;Please check your caching and cache-variation policies for that&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If caching is enabled, Users and Bots should have a separate cache-variations configured. This is to not serve the SERA&amp;rsquo;s bot-optimized-content to users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Change &lt;strong&gt;SERA_ENDPOINT&lt;/strong&gt; to the SERA endpoint shared with you&lt;/li&gt;
&lt;li&gt;Change &lt;strong&gt;YOUR_TOKEN&lt;/strong&gt; the SERA token shared with you&lt;/li&gt;
&lt;li&gt;Change &lt;strong&gt;example.com&lt;/strong&gt; for server_name to your actual domain&lt;/li&gt;
&lt;li&gt;Change &lt;strong&gt;/path/to/your/root&lt;/strong&gt; to the correct value&lt;/li&gt;
&lt;li&gt;Keep the relevant bot user-agent regex condition mentioned below - to control the traffic being sent to SERA&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-head is-button-only"&gt;
 &lt;div class="code-title is-empty"&gt;&lt;/div&gt;
 &lt;button type="button" class="code-copy-button" data-copy-code aria-label="Copy code"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-nginx" data-lang="nginx"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;worker_processes&lt;/span&gt; &lt;span style="color:#e6db74"&gt;auto&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;events&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;worker_connections&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1024&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;http&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;include&lt;/span&gt; &lt;span style="color:#e6db74"&gt;mime.types&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;default_type&lt;/span&gt; &lt;span style="color:#e6db74"&gt;application/octet-stream&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;sendfile&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;on&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;keepalive_timeout&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;65&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;map_hash_bucket_size&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1024&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;map&lt;/span&gt; $http_user_agent $sera_ua_check { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#f92672"&gt;default&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;#34;~*sera&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;#34;~(^|&amp;amp;)_escaped_fragment_=&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#75715e"&gt;#USE THIS - DURING POC PHASE for bot User-Agent regex check :
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#f92672"&gt;&amp;#34;~*(n7TestUserAgent|google\&lt;/span&gt; &lt;span style="color:#e6db74"&gt;page\&lt;/span&gt; &lt;span style="color:#e6db74"&gt;speed|chrome-lighthouse|google-inspectiontool|PTST|GTmetrix|n7ua)&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#75715e"&gt;#USE THIS - ON GOING LIVE ON SERA for bot User-Agent regex check :
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#75715e"&gt;#&amp;#34;~*(n7TestUserAgent|google\ page\ speed|chrome-lighthouse|google-inspectiontool|PTST|GTmetrix|n7ua|googlebot|facebookexternalhit|bingbot)&amp;#34; 1;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#75715e"&gt;#USE THIS - ON GOING LIVE ON SERA for AI bots for User-Agent regex check :
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#75715e"&gt;#&amp;#34;~*(openai|gptbot|claudebot|claude-user|perplexity-user|perplexity-bot|google-extended|google-cloudvertexbot|google-notebooklm|amazonbot|duckassistbot|metaai|metabotic|meta-externalagent|copilot|baiduspider)&amp;#34; 1;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;map&lt;/span&gt; $request_method $sera_method_check { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#f92672"&gt;default&lt;/span&gt; $sera_ua_check;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;POST&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;PUT&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;DELETE&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;OPTIONS&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;HEAD&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;PATCH&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;CONNECT&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;TRACE&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;map&lt;/span&gt; $request_uri $sera_ext_check { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#f92672"&gt;default&lt;/span&gt; $sera_method_check;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;#34;~*\.(ai|ashx|asmx|aspx|avi|avif|bmp|css|csv|dat|dmg|doc|eot|exe|flv|gif|ico|iso|jpeg|jpg|js|json|jsp|less|m4a|m4v|mov|mp3|mp4|mpeg|mpg|ogg|otf|pdf|php|png|ppt|psd|rar|rss|svg|swf|tif|torrent|tf|txt|wav|webm|webp|wmv|woff|woff2|xls|xml|zip)&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;map&lt;/span&gt; $request_uri $sera_url_check { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#f92672"&gt;default&lt;/span&gt; $sera_ext_check;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;#34;~*.*(/static/|/_next/|/api/|/login|/logout|/account/|/wishlist/|/cart/|/checkout/|/payment/).*&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;map&lt;/span&gt; $args $sera_qry_check { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#f92672"&gt;default&lt;/span&gt; $sera_url_check;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;#34;~*\bnsbp=&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;map&lt;/span&gt; $http_x_nv_app $sera_app_check { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#f92672"&gt;default&lt;/span&gt; $sera_qry_check;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;#34;~.+&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;map&lt;/span&gt; $http_x_nv_sera_bypass $sera_final_check { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#f92672"&gt;default&lt;/span&gt; $sera_app_check;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;#34;~.+&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#f92672"&gt;server&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;listen&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;80&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;server_name&lt;/span&gt; &lt;span style="color:#e6db74"&gt;example.com&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;proxy_ssl_server_name&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;on&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;root&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/path/to/your/root&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;location&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#f92672"&gt;if&lt;/span&gt; &lt;span style="color:#e6db74"&gt;(&lt;/span&gt;$sera_final_check = &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#e6db74"&gt;)&lt;/span&gt; { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;				&lt;span style="color:#f92672"&gt;rewrite&lt;/span&gt; &lt;span style="color:#e6db74"&gt;(.*)&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/sera_target/&lt;/span&gt;$1 &lt;span style="color:#e6db74"&gt;last&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#75715e"&gt;#existing configuration
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;			&lt;span style="color:#75715e"&gt;#try_files $uri /index.html = 404;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;location&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/sera_target&lt;/span&gt; { &lt;span style="color:#75715e"&gt;#added for sera
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;			&lt;span style="color:#75715e"&gt;#forward request to sera to serve the optimized page
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;			&lt;span style="color:#f92672"&gt;resolver&lt;/span&gt; 8.8.8.8 1.1.1.1;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#f92672"&gt;set&lt;/span&gt; $sera_host &lt;span style="color:#e6db74"&gt;SERA_ENDPOINT&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#f92672"&gt;proxy_set_header&lt;/span&gt; &lt;span style="color:#e6db74"&gt;host&lt;/span&gt; $sera_host;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#f92672"&gt;proxy_set_header&lt;/span&gt; &lt;span style="color:#e6db74"&gt;x-nv-sera-token&lt;/span&gt; &lt;span style="color:#e6db74"&gt;YOUR_TOKEN&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#f92672"&gt;proxy_set_header&lt;/span&gt; &lt;span style="color:#e6db74"&gt;x-nv-access-key&lt;/span&gt; &lt;span style="color:#e6db74"&gt;YOUR_N7_ACCESS_KEY&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#f92672"&gt;set&lt;/span&gt; $args &lt;span style="color:#e6db74"&gt;&amp;#34;&amp;#34;&lt;/span&gt;; &lt;span style="color:#75715e"&gt;#REMOVE THIS IF YOUR SITEMAP PAGE URLS HAVE QUERYSTRING
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;			&lt;span style="color:#f92672"&gt;rewrite&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/sera_target/(.*)&lt;/span&gt; $1 &lt;span style="color:#e6db74"&gt;break&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#f92672"&gt;proxy_pass&lt;/span&gt; &lt;span style="color:#e6db74"&gt;https://&lt;/span&gt;$sera_host;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="testing-and-refinement"&gt;Testing and Refinement&lt;a class="heading-anchor" href="#testing-and-refinement" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You can test the Nginx configuration on &lt;a href="https://nginx-playground.wizardzines.com/" target="_blank" rel="noreferrer"&gt;Fiddle&lt;/a&gt;
&lt;/p&gt;</description></item><item><title>SERA Scenarios</title><link>https://docs.n7.io/sera/scenarios/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/scenarios/</guid><description>&lt;p&gt;This document specifies scenarios that can affect the bot results.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Your must have a domain on which SERA is configured.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You must have an account on Nitrogen to view the dashboard.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="sera-workflow"&gt;SERA workflow&lt;a class="heading-anchor" href="#sera-workflow" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;SERA (Search Engine Rank Accelerator) is a tool that serves the &amp;lsquo;optimized&amp;rsquo; version of &amp;lsquo;pre-processed&amp;rsquo; page to the bots.&lt;br/&gt;
As bots need less time to process and render the SERA pages, they provide a good CWV score to the pages, and also effectively utilize the crawl budget.&lt;br/&gt;
All the render and crawl related stats can be checked in &lt;a href="https://dash.n7.io/" target="_blank" rel="noreferrer"&gt;Dash&lt;/a&gt;
.&lt;br/&gt;
To process the pages, SERA uses :&lt;/p&gt;</description></item><item><title>Steps to use WPT to analyze the site performance</title><link>https://docs.n7.io/miscellaneous/wpt_steps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/miscellaneous/wpt_steps/</guid><description>&lt;p&gt;Nitrogen recommends using &lt;a href="https://www.webpagetest.org/" target="_blank" rel="noreferrer"&gt;https://www.webpagetest.org/&lt;/a&gt;
 (WPT for short) for measuring and comparing the performance of any website.&lt;/br&gt;
Because it&amp;rsquo;s easy to use, and has variety of options available like : &lt;/br&gt;
e.g. test location, connection speed, browser to be used, test device, DNS overriding ability, filmstrip of page load, CWV data, test comparisons, and many more things.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you are analyzing performance through Nitrogen :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You must have an account on Nitrogen&lt;/p&gt;</description></item><item><title>URL patterns</title><link>https://docs.n7.io/delivery/settings/url-pattern/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/settings/url-pattern/</guid><description>&lt;p&gt;This page will show you steps to configure request patterns. These then can be used at multiple places such as rewrite/caching/blocking rules.
&lt;/br&gt;&lt;/br&gt;
Typical use-case is, you would want to proxy a set of URLs to a certain endpoint, and then set caching specific to it.&lt;br/&gt;
e.g. You can proxy image requests to your static domain, and set 90 days caching for them. (This way also helps avoiding extra OPTIONS calls made by browser for the request being for other domain)
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;
Here, we will be defining a URL pattern for relative requests of &lt;code&gt;global-uploads.webflow.com&lt;/code&gt; domain - to proxy them to that domain itself.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Analytics</title><link>https://docs.n7.io/aio/analytics-dashboard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/analytics-dashboard/</guid><description>&lt;p&gt;This dashboard will show the 4xx status code data for the configured domains.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;nviztest.com&lt;/code&gt; site data as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;You must have a domain configured on Nitrogen.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You must have AIO enabled on your domain. Refer &lt;a href="https://docs.n7.io/aio/image-config/" &gt;this article&lt;/a&gt;
 if not done already.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Click on &lt;code&gt;Analytics&lt;/code&gt;, you will see following charts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Total saving&lt;/code&gt;: Total bandwidth saved by AIO for all the domains in the current site together.&lt;/p&gt;</description></item><item><title>Rewrites</title><link>https://docs.n7.io/delivery/routing/rewrites/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/rewrites/</guid><description>&lt;p&gt;Refer this page to configure proxies for your domain requests. This feature is useful when you wish to keep request URL same but change the underlying handling endpoint.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.
&lt;/br&gt;
Here, we will be rewriting all requests to add &lt;code&gt;n7-&lt;/code&gt; as a prefix before sending them to server, and for homepage we will add &lt;code&gt;n7&lt;/code&gt; as a prefix&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;</description></item><item><title>Security</title><link>https://docs.n7.io/account/analytics-dashboard/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/security/</guid><description>&lt;p&gt;This dashboard will show you Analytic data for blocked requests for the N7 WAF enabled domains. Please contact us if you wish to configure it.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;Security&lt;/code&gt; chart for it.&lt;/br&gt;
If no domain is selected, the charts will show data of all domains configured on current account. Else data will be displayed for selected domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain data as an example.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>SERA integration on Node</title><link>https://docs.n7.io/sera/server-side-integration/nodejs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/sera/server-side-integration/nodejs/</guid><description>&lt;p&gt;Kindly follow the below examples to setup the routing of bot traffic to SERA.&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;All your page requests must get intercepted by below SERA routing rule
&lt;ul&gt;
&lt;li&gt;Please check your routing, caching and cache-variation policies for that&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If caching is enabled, Users and Bots should have a separate cache-variations configured. This is to not serve the SERA&amp;rsquo;s bot-optimized-content to users.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Change &lt;strong&gt;SERA_ENDPOINT&lt;/strong&gt; to the SERA endpoint shared with you&lt;/li&gt;
&lt;li&gt;Change &lt;strong&gt;YOUR_TOKEN&lt;/strong&gt; to the SERA token shared with you&lt;/li&gt;
&lt;li&gt;Keep the relevant bot user-agent regex condition mentioned below - to control the traffic being sent to SERA&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="code-block"&gt;
 &lt;div class="code-head is-button-only"&gt;
 &lt;div class="code-title is-empty"&gt;&lt;/div&gt;
 &lt;button type="button" class="code-copy-button" data-copy-code aria-label="Copy code"&gt;Copy&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;express&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;require&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;express&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;app&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;express&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;port&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3000&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraEndpoint&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;SERA_ENDPOINT&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraToken&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;YOUR_TOKEN&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;n7AccessKey&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;N7_ACCESS_KEY&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;//USE THIS - DURING POC PHASE for bot User-Agent regex :
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraUserAgentPattern&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/(n7TestUserAgent|google page speed|chrome-lighthouse|google-inspectiontool|PTST|GTmetrix|n7ua)/i&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;//USE THIS - ON GOING LIVE ON SERA for bot User-Agent regex :
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;//const seraUserAgentPattern = /(n7TestUserAgent|google page speed|chrome-lighthouse|google-inspectiontool|PTST|GTmetrix|n7ua|googlebot|facebookexternalhit|bingbot)/i;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;//USE THIS - ON GOING LIVE ON SERA for AI bots for bot User-Agent regex :
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;//const seraUserAgentPattern = /(openai|gptbot|claudebot|claude-user|perplexity-user|perplexity-bot|google-extended|google-cloudvertexbot|google-notebooklm|amazonbot|duckassistbot|metaai|metabotic|meta-externalagent|copilot|baiduspider)/i;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraAllowedExtnPattern&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/^(|.+\.html|.+\.aspx|.+\.php)($|\?.*)/i&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraExludeQryPrmPattern&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/\?(.*&amp;amp;)*(nsbp)=.*/i&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraExludePagePattern&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;/.*(\/static/&lt;/span&gt;&lt;span style="color:#f92672"&gt;|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;_next&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;api&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;login&lt;/span&gt;&lt;span style="color:#f92672"&gt;|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;logout&lt;/span&gt;&lt;span style="color:#f92672"&gt;|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;account&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;wishlist&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;cart&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;checkout&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/|&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;payment&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;\&lt;/span&gt;&lt;span style="color:#f92672"&gt;/&lt;/span&gt;).&lt;span style="color:#f92672"&gt;*&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;/i;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;sera&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;async&lt;/span&gt; (&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;res&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;next&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; { &lt;span style="color:#e6db74"&gt;&amp;#34;user-agent&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;userAgent&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;accept-encoding&amp;#34;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;acceptEncoding&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;accept&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;referer&lt;/span&gt; } &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;headers&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;method&lt;/span&gt; &lt;span style="color:#f92672"&gt;===&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;GET&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraUserAgentPattern&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;test&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;userAgent&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraAllowedExtnPattern&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;test&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#f92672"&gt;!&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;seraExludeQryPrmPattern&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;test&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#f92672"&gt;!&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;seraExludePagePattern&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;test&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#f92672"&gt;!&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;headers&lt;/span&gt;[&lt;span style="color:#e6db74"&gt;&amp;#39;x-nv-app&amp;#39;&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#f92672"&gt;!&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;headers&lt;/span&gt;[&lt;span style="color:#e6db74"&gt;&amp;#39;x-nv-sera-bypass&amp;#39;&lt;/span&gt;]) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;headers&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#e6db74"&gt;&amp;#39;x-nv-sera-token&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;seraToken&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#e6db74"&gt;&amp;#39;x-nv-access-key&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;n7AccessKey&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#e6db74"&gt;&amp;#39;user-agent&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;userAgent&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#e6db74"&gt;&amp;#39;accept-encoding&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;acceptEncoding&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#e6db74"&gt;&amp;#39;accept&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;accept&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#e6db74"&gt;&amp;#39;referer&amp;#39;&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;referer&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		};
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;remoteUrl&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;`&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;seraEndpoint&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;pathname&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;`&lt;/span&gt;; &lt;span style="color:#75715e"&gt;//USE THIS IF YOUR SITEMAP PAGE URLS DO NOT HAVE QUERYSTRING
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;		&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;remoteUrl&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;`&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;seraEndpoint&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;url&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;`&lt;/span&gt;; &lt;span style="color:#75715e"&gt;//USE THIS IF YOUR SITEMAP PAGE URLS HAVE QUERYSTRING
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#66d9ef"&gt;try&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#66d9ef"&gt;const&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;response&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;await&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;fetch&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;remoteUrl&lt;/span&gt;, { &lt;span style="color:#a6e22e"&gt;headers&lt;/span&gt; });
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; ((&lt;span style="color:#a6e22e"&gt;response&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;status&lt;/span&gt; &lt;span style="color:#f92672"&gt;===&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;200&lt;/span&gt; &lt;span style="color:#f92672"&gt;||&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;response&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;status&lt;/span&gt; &lt;span style="color:#f92672"&gt;===&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;410&lt;/span&gt;) &lt;span style="color:#f92672"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;response&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;data&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;				&lt;span style="color:#a6e22e"&gt;res&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;status&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;response&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;status&lt;/span&gt;).&lt;span style="color:#a6e22e"&gt;send&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;response&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;data&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;				&lt;span style="color:#a6e22e"&gt;next&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		} &lt;span style="color:#66d9ef"&gt;catch&lt;/span&gt; (&lt;span style="color:#a6e22e"&gt;error&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#a6e22e"&gt;console&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;error&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;error downloading page:&amp;#39;&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;error&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;message&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;			&lt;span style="color:#a6e22e"&gt;next&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#a6e22e"&gt;next&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;app&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;use&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;sera&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;app&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;get&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;/&amp;#39;&lt;/span&gt;, (&lt;span style="color:#a6e22e"&gt;req&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#a6e22e"&gt;res&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;send&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#39;Hello World!&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;})
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;app&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;listen&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;port&lt;/span&gt;, () =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#a6e22e"&gt;console&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;log&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;`example app listening on port &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;port&lt;/span&gt;&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;`&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;})&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="testing-and-refinement"&gt;Testing and Refinement&lt;a class="heading-anchor" href="#testing-and-refinement" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Keep refining the logic by adjusting user-agent list, and SERA exclusion-patterns as needed.&lt;/p&gt;</description></item><item><title>Integration on Mobile app</title><link>https://docs.n7.io/aio/integration/mobile_app/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/integration/mobile_app/</guid><description>&lt;p&gt;This documentation explains which Accept Headers needs to be included for Images in Mobile App. This allows you to optimize images specifically for Nitrogen AIO delivery.&lt;br/&gt;&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;You must have a domain configured on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have AIO enabled, please refer &lt;a href="https://docs.n7.io/delivery/settings/url-pattern/" &gt;this article&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Basic understanding of Mobile App Image Properties and Nitrogen AIO.
&lt;br/&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Add the following mandatory Headers on outgoing image requests. Please modify the values based on the user&amp;rsquo;s mobile device and network configuration:&lt;/p&gt;</description></item><item><title>Integration on Next JS</title><link>https://docs.n7.io/aio/integration/nextjs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/integration/nextjs/</guid><description>&lt;p&gt;This documentation explains how to create a custom image loader in Next.js to modify image URLs for the Nitrogen AIO. This allows you to optimize images specifically for Nitrogen AIO delivery.&lt;br/&gt;&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;You must have a domain configured on Nitrogen&lt;/li&gt;
&lt;li&gt;You must have AIO enabled, please refer &lt;a href="https://docs.n7.io/delivery/settings/url-pattern/" &gt;this article&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Basic understanding of Next.js and Nitrogen AIO.&lt;/li&gt;
&lt;li&gt;Node.js and npm (or yarn) installed on your development machine.
&lt;br/&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install package :&lt;/p&gt;</description></item><item><title>Integration on Shopify</title><link>https://docs.n7.io/aio/integration/shopify/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/integration/shopify/</guid><description>&lt;p&gt;This documentation explains how to update Shopify end configuration to proxy image requests to N7 AIO.&lt;br/&gt;&lt;/p&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;a class="heading-anchor" href="#prerequisites" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You should have access to Shopify admin portal (&lt;a href="https://admin.shopify.com/" target="_blank" rel="noreferrer"&gt;admin.shopify.com&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;You should have a Nitrogen AIO endpoint available. If you have not received it - check with the Nitrogen POC person in contact with you, OR mail to &lt;a href="mailto:support@n7.io" target="_blank" rel="noreferrer"&gt;support@n7.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Creating AIO settings&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;a href="https://admin.shopify.com/" target="_blank" rel="noreferrer"&gt;https://admin.shopify.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Go to &lt;code&gt;Sales channels &amp;gt; Online store themes &amp;gt; Themes&lt;/code&gt; menu from left side.&lt;/br&gt;
Edit code for your &lt;em&gt;current theme&lt;/em&gt; by clicking on &lt;code&gt;...&lt;/code&gt; menu and then clicking &lt;code&gt;Edit code&lt;/code&gt; menu.&lt;/br&gt;
&lt;img src="https://docs.n7.io/assets/images/AIO/integration/shopify/1.png" alt="Step" &gt;
&lt;/br&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;code&gt;config&lt;/code&gt; folder and then open &lt;code&gt;settings_schema.json&lt;/code&gt; file.&lt;/br&gt;
Then add our AIO setting from &lt;a href="https://docs.n7.io/aio/integration/aio_setting.json" &gt;this file&lt;/a&gt;
&lt;/br&gt;
&lt;img src="https://docs.n7.io/assets/images/AIO/integration/shopify/2.png" alt="Step" &gt;
&lt;/br&gt;&lt;/li&gt;
&lt;li&gt;Now select &lt;code&gt;Snippets&lt;/code&gt; folder, and copy &lt;a href="https://docs.n7.io/aio/integration/aio.liquid" &gt;aio.liquid&lt;/a&gt;
 and &lt;a href="https://docs.n7.io/aio/integration/aio-image.liquid" &gt;aio-image.liquid&lt;/a&gt;
 files to it.
&lt;img src="https://docs.n7.io/assets/images/AIO/integration/shopify/3.png" alt="Step" &gt;
&lt;/br&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Configuring AIO&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Static Pages</title><link>https://docs.n7.io/delivery/routing/static-content/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/delivery/routing/static-content/</guid><description>&lt;p&gt;Refer this page to serve static files from Nitrogen itself. You can use it for serving resources like robots.txt, maintenance page, logo etc.
&lt;/br&gt;&lt;/br&gt;
&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;www.nviztest.com&lt;/code&gt; domain as an example.&lt;/br&gt;
Here, we will be setting desktop and mobile WPTs for homepage.&lt;/em&gt;&lt;/br&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="steps"&gt;Steps&lt;a class="heading-anchor" href="#steps" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on &lt;code&gt;Domains&lt;/code&gt; menu, then select &lt;code&gt;Static Pages&lt;/code&gt; tab. Select appropriate domain from the domains dropdown.
&lt;img src="https://docs.n7.io/assets/images/delivery/static-files-and-maintenance/1.png" alt="Step" &gt;
&lt;/p&gt;</description></item><item><title>Traffic Pattern Summary</title><link>https://docs.n7.io/account/analytics-dashboard/traffic-pattern-summary/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/traffic-pattern-summary/</guid><description>&lt;p&gt;This dashboard will show the input traffic details for the configured domains.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;Traffic Pattern Summary&lt;/code&gt; chart for it.&lt;/br&gt;
If no domain is selected, the charts will show data of all domains configured on current account. Else data will be displayed for selected domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;nviztest.com&lt;/code&gt; site data as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Countries&lt;/code&gt;: This chart shows the percentage traffic received from different countries.&lt;/p&gt;</description></item><item><title>All Articles 📖</title><link>https://docs.n7.io/articles/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/articles/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nitrogen&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/nitrogen-headers" &gt;Nitrogen request/response headers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/miscellaneous/whitelisting-nitrogen-requests" &gt;Whitelisting Nitrogen CDN Requests&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Account&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/account-overview" &gt;Overview&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/domains-listing" &gt;Domains listing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/log-extracts" &gt;Log extracts&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/change-log" &gt;Change log&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Analytics dashboard&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/application-errors" &gt;Application Errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/bandwidth-consumption" &gt;Bandwidth Consumption&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/cache-effectiveness" &gt;Cache Effectiveness&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/dos-attacks" &gt;DoS Attacks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/missing-assets" &gt;Missing Assets&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/traffic-pattern-summary" &gt;Traffic Pattern Summary&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/unplanned-outage" &gt;Unplanned Outage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/security" &gt;Security&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/human-detector" &gt;Human Detector&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Users&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/users/create-user" &gt;Create users&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/users/create-api-keys" &gt;Create API keys&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Delivery&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;u&gt;Routing&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/dns" &gt;DNS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/origins" &gt;Origins&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/history" &gt;History&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Rewrites&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/routing/rewrites" &gt;Create rewrite rules&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/routing/reorder-rules" &gt;Reorder rules&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Creating condition patterns&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/url-pattern" &gt;URL patterns&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/cookie" &gt;Cookie&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/header" &gt;Header&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/ip" &gt;IP addresses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/country" &gt;Country&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/method" &gt;HTTP Methods&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/query-params" &gt;Query parameters&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Redirects&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/routing/redirects/priority" &gt;Priority redirections&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/routing/redirects/shift" &gt;Bulk redirections&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/routing/static-content" &gt;Static content&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/routing/maintenance-page" &gt;Maintenance Page&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/routing/nitrogen-headers" &gt;Nitrogen Headers&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Caching&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/caching/caching" &gt;Request caching&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/caching/cache-variations" &gt;Cache variations&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/caching/purge" &gt;Purge Nitrogen cache&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/caching/purge-logs" &gt;Purge logs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/caching/purge-api" &gt;Purge by API&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Security&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/security/conditional-blocks" &gt;Conditional request blocking&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/security/human-detector" &gt;Human Detector&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/security/fly-auth" &gt;Fly Auth&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Security headers&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/security/headers/hsts" &gt;HSTS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/security/headers/xss" &gt;XSS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/security/headers/csp" &gt;CSP&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/security/headers/cors" &gt;CORS&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Analytics dashboard&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/application-errors" &gt;Application Errors&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/bandwidth-consumption" &gt;Bandwidth Consumption&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/cache-effectiveness" &gt;Cache Effectiveness&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/dos-attacks" &gt;DoS Attacks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/missing-assets" &gt;Missing Assets&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/traffic-pattern-summary" &gt;Traffic Pattern Summary&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/unplanned-outage" &gt;Unplanned Outage&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/security" &gt;Security&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/account/analytics-dashboard/human-detector" &gt;Human Detector&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AIO&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/dns" &gt;DNS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/origins" &gt;Origins&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/history" &gt;History&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/aio/image-config" &gt;Image config&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/aio/optimizations" &gt;Optimization parameters&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/aio/query-parameters" &gt;AIO query parameters&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/aio/image-catalog" &gt;Image catalog&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/caching/purge" &gt;Caching&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/aio/analytics-dashboard" &gt;Analytics dashboard&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AVO&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/dns" &gt;DNS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/origins" &gt;Origins&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/history" &gt;History&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/avo/video-route" &gt;Video routing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/avo/api-integration" &gt;API Integration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/avo/video-catalog" &gt;Video catalog&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RDX&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/rdx/overview" &gt;Overview&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/rdx/dashboard" &gt;Dashboard&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/rdx/domains" &gt;Domains&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/rdx/settings" &gt;Settings&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SERA&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/a-domain-config-sera" &gt;Configure SERA through Dash&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/server-side-integration/" &gt;Configure SERA at server end&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/dashboard" &gt;Dashboard&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/analytics" &gt;Analytics&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/sera-render-api" &gt;Run SERA on ad-hoc basis&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Pages&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/pages/page-groups" &gt;Page-groups&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/pages/sera-execution-history" &gt;SERA execution history&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/pages/410-responses/" &gt;410 responses&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/pages/settings" &gt;Settings&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Rules&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/common/history" &gt;History&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/rules/conditions-blocks" &gt;Condition blocks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/rules/query-filters" &gt;Query filters&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/sera/rules/secret-token" &gt;Secret token&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Settings&lt;/u&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/url-pattern" &gt;URL patterns&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/header" &gt;Header&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/delivery/settings/query-params" &gt;Query parameters&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Miscellaneous&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/miscellaneous/dns_spoofing_steps" &gt;Steps to test the website on Nitrogen without pointing the CNAME to Nitrogen&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.n7.io/miscellaneous/wpt_steps" &gt;Steps to use WPT to analyze the site performance&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>N7 Storage</title><link>https://docs.n7.io/aio/n7-storage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/aio/n7-storage/</guid><description>&lt;p&gt;N7 Storage provides an on-demand API to upload files, allowing seamless access to those resources via your registered domain.&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have an active account on Nitrogen.&lt;/li&gt;
&lt;li&gt;Your target domain, where files will be uploaded and accessed, must be registered on Nitrogen.&lt;/li&gt;
&lt;li&gt;A service account with Editor access must be configured. If you don&amp;rsquo;t have one, refer to &lt;a href="https://docs.n7.io/account/users/create-api-keys/" &gt;this article&lt;/a&gt;
 to create API keys.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="api-upload-files-to-n7-storage"&gt;API: Upload Files to N7 Storage&lt;a class="heading-anchor" href="#api-upload-files-to-n7-storage" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;API&lt;/strong&gt; :&lt;/p&gt;</description></item><item><title>Unplanned Outage</title><link>https://docs.n7.io/account/analytics-dashboard/unplanned-outage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/account/analytics-dashboard/unplanned-outage/</guid><description>&lt;p&gt;This dashboard will show the 5xx status code data for the configured domains.&lt;/br&gt;
Click on &lt;code&gt;Analytics&lt;/code&gt; menu, and select &lt;code&gt;Unplanned Outage&lt;/code&gt; chart for it.&lt;/br&gt;
If no domain is selected, the charts will show data of all domains configured on current account. Else data will be displayed for selected domain.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note: For demo purpose, we will be using &lt;code&gt;nviztest.com&lt;/code&gt; site data as an example.&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="prerequisite"&gt;Prerequisite&lt;a class="heading-anchor" href="#prerequisite" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;You must have a domain configured on Nitrogen.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="charts"&gt;Charts&lt;a class="heading-anchor" href="#charts" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Unserved Requests Percentage&lt;/code&gt;: This chart shows the percentage of the HTTP status code of the 5xx error requests.&lt;/p&gt;</description></item><item><title>Nitrogen Support</title><link>https://docs.n7.io/support/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.n7.io/support/</guid><description>&lt;p&gt;You can raise any doubts/issues to &lt;a href="mailto:support@n7.io" target="_blank" rel="noreferrer"&gt;support@n7.io&lt;/a&gt;
.&lt;/br&gt;&lt;/p&gt;
&lt;p&gt;Also, you can raise your query from dash by following these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Click on Settings icon next to your user-name at top right corner. And select &lt;code&gt;Support&lt;/code&gt;&lt;/br&gt;
&lt;img src="https://docs.n7.io/assets/images/common/support/1.png" alt="Step" &gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provide the required details, and click on &lt;code&gt;Submit&lt;/code&gt; button. Our support team will receive your request and get back to you.&lt;/br&gt;
&lt;img src="https://docs.n7.io/assets/images/common/support/2.png" alt="Step" &gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="notes"&gt;Notes&lt;a class="heading-anchor" href="#notes" aria-label="Link to this section"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Changes to provide attachments in ticket are in progress, and will be released soon.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>