CINXE.COM
Infrastructure · WordPress VIP Documentation
<!DOCTYPE html> <html lang="en-US"> <head> <meta http-equiv="content-type" content="text/html" charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" /> <link rel="profile" href="https://gmpg.org/xfn/11" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO plugin v23.5 - https://yoast.com/wordpress/plugins/seo/ --> <title>Infrastructure · WordPress VIP Documentation</title> <link rel="canonical" href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Infrastructure · WordPress VIP Documentation" /> <meta property="og:description" content="Additional layers of WPVIP’s infrastructure are in place to enhance the performance and security of your application environments. The page cache The page cache is the first layer of WPVIP’s infrastructure that is encountered by every request made to your WordPress or Node.js environment. The page cache determines whether a request will be served a […]" /> <meta property="og:url" content="https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/" /> <meta property="og:site_name" content="WordPress VIP Documentation" /> <meta property="og:image" content="https://docs.wpvip.com/wp-content/uploads/sites/2/2023/07/screenshot.png" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="900" /> <meta property="og:image:type" content="image/png" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:label1" content="Est. reading time" /> <meta name="twitter:data1" content="4 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/","url":"https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/","name":"Infrastructure · WordPress VIP Documentation","isPartOf":{"@id":"https://docs.wpvip.com/#website"},"datePublished":"2024-11-25T21:59:46+00:00","dateModified":"2024-11-25T21:59:46+00:00","breadcrumb":{"@id":"https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/"]}]},{"@type":"BreadcrumbList","@id":"https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Develop on WordPress VIP","item":"https://docs.wpvip.com/guidebooks/develop-on-wpvip/"},{"@type":"ListItem","position":2,"name":"Infrastructure"}]},{"@type":"WebSite","@id":"https://docs.wpvip.com/#website","url":"https://docs.wpvip.com/","name":"WordPress VIP Documentation","description":"WordPress VIP Documentation","publisher":{"@id":"https://docs.wpvip.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://docs.wpvip.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://docs.wpvip.com/#organization","name":"WordPress VIP","url":"https://docs.wpvip.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://docs.wpvip.com/#/schema/logo/image/","url":"https://docs.wpvip.com/wp-content/uploads/sites/2/2023/07/wp-vip-logo.png","contentUrl":"https://docs.wpvip.com/wp-content/uploads/sites/2/2023/07/wp-vip-logo.png","width":962,"height":900,"caption":"WordPress VIP"},"image":{"@id":"https://docs.wpvip.com/#/schema/logo/image/"}}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel="alternate" type="application/rss+xml" title="WordPress VIP Documentation » Feed" href="https://docs.wpvip.com/feed/" /> <link rel="alternate" type="application/rss+xml" title="WordPress VIP Documentation » Comments Feed" href="https://docs.wpvip.com/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/docs.wpvip.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='all-css-2' href='https://docs.wpvip.com/wp-includes/css/dist/block-library/style.min.css?m=1732206022g' type='text/css' media='all' /> <style id='safe-svg-svg-icon-style-inline-css'> .safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{height:100%;max-height:100%;max-width:100%;width:100%} </style> <style id='tab-group-tabs-style-inline-css'> .wp-block-tab-group-tabs{margin-bottom:1.41575em}.wp-block-tab-group-tabs ul.tab-labels{margin:0;padding:0}.wp-block-tab-group-tabs ul.tab-labels li{border-bottom-width:0;list-style:none;margin:0;padding:0}.wp-block-tab-group-tabs ul.tab-labels li label{background:#f9f5f5;border:solid #ddd;border-radius:10px 10px 0 0;border-width:1px 1px 0;color:#444;float:left;padding:15px 25px}.wp-block-tab-group-tabs ul.tab-labels li label:hover{background:#f2f2f2;cursor:pointer}.wp-block-tab-group-tabs ul.tab-labels li label:active{background:#fff}.wp-block-tab-group-tabs ul.tab-labels li:not(:last-child) label{border-right-width:0}.wp-block-tab-group-tabs ul.tab-labels li.active label{background:#fff;color:#111;position:relative}.wp-block-tab-group-tabs ul.tab-labels li.active label:hover{cursor:default}.wp-block-tab-group-tabs ul.tab-labels li.active label:after{background:#fff;bottom:-1px;content:"";display:block;height:2px;left:0;position:absolute;width:100%}.wp-block-tab-group-tabs section{background:#fff;border:1px solid #ddd;clear:both;padding:20px;width:100%}.wp-block-tab-group-tabs section div.tab-panel{display:none}.wp-block-tab-group-tabs section div.tab-panel.active{display:block}.wp-block-tab-group-tabs section div.tab-panel p:last-child{margin-bottom:0}@media only screen and (min-width:768px){.wp-block-tab-group-tabs.layout-left{display:flex;width:100%}.wp-block-tab-group-tabs.layout-left ul.tab-labels li{display:flex;flex-direction:column}.wp-block-tab-group-tabs.layout-left ul.tab-labels li label{border-bottom-width:1px;border-radius:10px 0 0 10px;border-right-width:0}.wp-block-tab-group-tabs.layout-left ul.tab-labels li:not(:last-child) label{border-bottom-width:0}.wp-block-tab-group-tabs.layout-left ul.tab-labels li.active label:after{height:100%;left:unset;right:-1px;top:0;width:2px}.wp-block-tab-group-tabs.layout-left .tab-content,.wp-block-tab-group-tabs.layout-left .tab-content .tab-panel.active{display:flex;flex:1;flex-direction:column}.wp-block-tab-group-tabs.layout-left .tab-content .tab-panel.active .wp-block-cgb-block-page-section{flex:1}.wp-block-tab-group-tabs.layout-left .tab-content .tab-panel.active>*{padding:0 2rem}} </style> <style id='wp-parsely-recommendations-style-inline-css'> .parsely-recommendations-list-title{font-size:1.2em}.parsely-recommendations-list{list-style:none;padding:unset}.parsely-recommendations-cardbody{overflow:hidden;padding:.8em;text-overflow:ellipsis;white-space:nowrap}.parsely-recommendations-cardmedia{padding:.8em .8em 0} </style> <link rel='stylesheet' id='all-css-10' href='https://docs.wpvip.com/_static/??-eJzTLy/QzcxLzilNSS3WzyrWz01NyUxMzUnNTc0rQeEU5CRWphbp5qSmJyZX6uVm5uklFxfr6OPTDpRD5sM02efaGpobGxkZmBkYGQMARIMu1Q==' type='text/css' media='all' /> <style id='jetpack-sharing-buttons-style-inline-css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <style id='elasticpress-facet-style-inline-css'> .widget_ep-facet input[type=search],.wp-block-elasticpress-facet input[type=search]{margin-bottom:1rem}.widget_ep-facet .searchable .inner,.wp-block-elasticpress-facet .searchable .inner{max-height:20em;overflow:scroll}.widget_ep-facet .term.hide,.wp-block-elasticpress-facet .term.hide{display:none}.widget_ep-facet .empty-term,.wp-block-elasticpress-facet .empty-term{opacity:.5;position:relative}.widget_ep-facet .empty-term:after,.wp-block-elasticpress-facet .empty-term:after{bottom:0;content:" ";display:block;left:0;position:absolute;right:0;top:0;width:100%;z-index:2}.widget_ep-facet .level-1,.wp-block-elasticpress-facet .level-1{padding-left:20px}.widget_ep-facet .level-2,.wp-block-elasticpress-facet .level-2{padding-left:40px}.widget_ep-facet .level-3,.wp-block-elasticpress-facet .level-3{padding-left:60px}.widget_ep-facet .level-4,.wp-block-elasticpress-facet .level-4{padding-left:5pc}.widget_ep-facet .level-5,.wp-block-elasticpress-facet .level-5{padding-left:75pt}.widget_ep-facet input[disabled],.wp-block-elasticpress-facet input[disabled]{cursor:pointer;opacity:1}.widget_ep-facet .term a,.wp-block-elasticpress-facet .term a{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.widget_ep-facet .term a:hover .ep-checkbox,.wp-block-elasticpress-facet .term a:hover .ep-checkbox{background-color:#ccc}.ep-checkbox{-webkit-box-align:center;-ms-flex-align:center;-ms-flex-negative:0;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:#eee;display:-webkit-box;display:-ms-flexbox;display:flex;flex-shrink:0;height:1em;justify-content:center;margin-right:.25em;width:1em}.ep-checkbox:after{border:solid #fff;border-width:0 .125em .125em 0;content:"";display:none;height:.5em;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:.25em}.ep-checkbox.checked{background-color:#5e5e5e}.ep-checkbox.checked:after{display:block} </style> <link rel='stylesheet' id='all-css-14' href='https://docs.wpvip.com/_static/??-eJxVjl0KwkAMhC9kGrVY+yKeZZsNGt0/NlnE27sohfo0wzB8M/gqQDkZJ8PYoIR2k6So7CrdkYNTEyqVVdGLGlI3tcfGHkpWU1hCpieovQPrECUNvbLDjpVEoXlWfChS9hyl1lw39q+9nqAgXWDzxc0EPtO6xF6sY5wqm+LSJHj8rkN0P941Xg7n8Xiapv04fwDWmFOM' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='privacy-toolset-css-css' href='https://docs.wpvip.com/wp-content/plugins/vip-privacy-toolset/assets/privacy-consent-banner.css?ver=1.0.0' media='all' /> <link rel='stylesheet' id='all-css-20' href='https://docs.wpvip.com/wp-content/themes/wpvip-docs/assets/build/main.css?m=1732566038g' type='text/css' media='all' /> <script type="text/javascript" src="https://docs.wpvip.com/_static/??-eJzTLy/QzcxLzilNSS3WzwKiwtLUokoopZebmaeXVayjj0+Rbm5melFiSSpUsX2uraG5sZGRgZmBkXEWAK8tIhI=" ></script><link rel="https://api.w.org/" href="https://docs.wpvip.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://docs.wpvip.com/wp-json/wp/v2/guidebook/21176" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://docs.wpvip.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.1" /> <link rel='shortlink' href='https://docs.wpvip.com/?p=21176' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://docs.wpvip.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdocs.wpvip.com%2Fguidebooks%2Fdevelop-on-wpvip%2Fwpvip-infrastructure%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://docs.wpvip.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fdocs.wpvip.com%2Fguidebooks%2Fdevelop-on-wpvip%2Fwpvip-infrastructure%2F&format=xml" /> <style>img#wpstats{display:none}</style> <script src="https://js-wc.site24x7static.com/site24x7/client/statusiq_status_widget/statusiq-status-widget.js" nomodule></script> <script src="https://js-wc.site24x7static.com/site24x7/client/statusiq_status_widget/statusiq-status-widget.esm.js" type="module"></script> <!-- Google Tag Manager --> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-575BNTT');</script> <!-- End Google Tag Manager --> <link rel="icon" href="https://docs.wpvip.com/wp-content/uploads/sites/2/2023/07/cropped-cropped-site-logo.png?w=32" sizes="32x32" /> <link rel="icon" href="https://docs.wpvip.com/wp-content/uploads/sites/2/2023/07/cropped-cropped-site-logo.png?w=192" sizes="192x192" /> <link rel="apple-touch-icon" href="https://docs.wpvip.com/wp-content/uploads/sites/2/2023/07/cropped-cropped-site-logo.png?w=180" /> <meta name="msapplication-TileImage" content="https://docs.wpvip.com/wp-content/uploads/sites/2/2023/07/cropped-cropped-site-logo.png?w=270" /> <style type="text/css" id="wp-custom-css"> .home ul.wp-block-post-template-is-layout-grid>li:before, .home ul.wp-block-post-template-is-layout-flow>li:before {content: "";} .home div.wp-block-group {padding:0 !important;} .home .wp-block-post-title { margin-top: 5px; } .home .wp-block-query.recent li { padding: 25px; } .home .wp-block-query.recent li .wp-block-group-is-layout-flex { flex-direction: row; align-items: baseline; } .home .wp-block-query.recent li .wp-block-group-is-layout-flex h3 { width: 100%; } .home .wp-block-query.recent li .wp-block-group-is-layout-flex .wp-block-post-date { font-size: 14px; color: #737373; } .home .taxonomy-post_tag a { display: inline-block; padding: 0 5px; border-radius: 5px; text-decoration: none; pointer-events: none; cursor: default; font-size: 12px; text-transform: capitalize; } .home .taxonomy-post_tag a[href="https://docs.wpvip.com/tag/tech-ref/"], .home .taxonomy-post_tag a[href="https://docs.wpvip.com/tag/how-to/"] { display: none; } .home .taxonomy-post_tag a[href="https://docs.wpvip.com/tag/new/"] { background-color: #e3ffe0; color: darkgreen; border: 1px solid darkgreen; } .home .taxonomy-post_tag a[href="https://docs.wpvip.com/tag/updated/"] { background-color: lightyellow; color: #cc7722; border: 1px solid #cc7722; } .home .wp-block-post-terms__separator { display: none; } </style> </head> <body class="guidebook-template-default single single-guidebook postid-21176"> <a class="screen-reader-text-focusable" href="#site-content"> Skip to content</a> <div class="a8c-docs-layout"> <header class="a8c-docs-layout__header" role="banner"> <div class="a8c-docs-layout__header__announcement"> <p>Ready to get started with WordPress VIP? <a href="https://wpvip.com/contact/">Contact us</a></p> </div> <div class="a8c-docs-layout__header__inner"> <a class="a8c-docs-layout__header__brand" href="https://docs.wpvip.com/" aria-label="WordPress VIP Documentation" > <span class="a8c-docs-layout__header__brand__text"> Documentation </span> </a> <!-- .a8c-docs-layout__header__brand --> <div class="a8c-docs-layout__header__search"> <div class="a8c-docs-search-form-header__wrapper"> <form class="a8c-docs-search-form" action="https://docs.wpvip.com" method="get" role="search"> <label for="search" class="a8c-docs-search-form__label visually-hidden">Search</label> <input aria-label="search" class="a8c-docs-search-input a8c-docs-input" placeholder="Search the docs…" type="search" name="s" autocomplete="off" value=""> <button type="submit" class="a8c-docs-search-form__icon">Search</button> </form> </div> </div> <!-- .a8c-docs-layout__header__search --> </div> <!-- .a8c-docs-layout__header__inner --> </header> <!-- .a8c-docs-layout__header --> <div class="a8c-docs-layout__main" id="site-content"> <div class="a8c-docs-layout__main__inner"> <button aria-controls="menu-navigation-nav-mobile" aria-expanded="false" id="A8C_DOCS_MENU_BUTTON" class="a8c-docs-layout__toggle" onclick="this.setAttribute( 'aria-expanded', 'true' !== this.getAttribute( 'aria-expanded' ) )" > Menu</button> <nav aria-label="Main Menu" class="a8c-docs-layout__sidebar__mobile"> <div class="a8c-docs-search-form-sidebar__wrapper"> <form class="a8c-docs-search-form" action="https://docs.wpvip.com" method="get" role="search"> <label for="search" class="a8c-docs-search-form__label visually-hidden">Search</label> <input aria-label="search" class="a8c-docs-search-input a8c-docs-input" placeholder="Search the docs…" type="search" name="s" autocomplete="off" value=""> <button type="submit" class="a8c-docs-search-form__icon">Search</button> </form> </div> <h2 class="a8c-docs-sidebar-list__heading">Guidebooks</h2><ul class="a8c-docs-sidebar-list"><li class="page_item page-item-21160 page_item_has_children"><a href="https://docs.wpvip.com/guidebooks/get-started/">Get started</a> <button aria-expanded="false" aria-label="Submenu for Get started" class="a8c-docs-sidebar-list__toggle"></button><ul class='children'><li class="page_item page-item-22416"><a href="https://docs.wpvip.com/guidebooks/get-started/basics/">The basics</a></li><li class="page_item page-item-21162"><a href="https://docs.wpvip.com/guidebooks/get-started/infrastructure-overview/">Infrastructure overview</a></li><li class="page_item page-item-21164"><a href="https://docs.wpvip.com/guidebooks/get-started/user-accounts-and-access/">User accounts and access</a></li><li class="page_item page-item-21166"><a href="https://docs.wpvip.com/guidebooks/get-started/adding-plugins-and-themes/">Adding plugins and themes</a></li><li class="page_item page-item-21168"><a href="https://docs.wpvip.com/guidebooks/get-started/getting-help/">Getting help</a></li></ul></li><li class="page_item page-item-21170 page_item_has_children current_page_ancestor current_page_parent"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/">Develop on WordPress VIP</a> <button aria-expanded="true" aria-label="Submenu for Develop on WordPress VIP" class="a8c-docs-sidebar-list__toggle"></button><ul class='children'><li class="page_item page-item-21172"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/user-accounts/">User accounts and access</a></li><li class="page_item page-item-21174"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/applications-and-environments/">Applications and their environments</a></li><li class="page_item page-item-21176 current_page_item"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/" aria-current="page">Infrastructure</a></li><li class="page_item page-item-21178"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/wordpress-apps/">Developing for WordPress applications</a></li><li class="page_item page-item-21180"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/node-js-apps/">Developing for Node.js applications</a></li><li class="page_item page-item-21182"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/local-and-cloud/">Local and cloud development</a></li><li class="page_item page-item-21184"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/branches-and-deployments/">GitHub branches and code deployments</a></li><li class="page_item page-item-21186"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/logs-and-monitoring/">Logs and performance monitoring</a></li><li class="page_item page-item-21188"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/get-help/">Getting help</a></li></ul></li><li class="page_item page-item-21190 page_item_has_children"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/">Prepare for a site launch</a> <button aria-expanded="false" aria-label="Submenu for Prepare for a site launch" class="a8c-docs-sidebar-list__toggle"></button><ul class='children'><li class="page_item page-item-21192"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/accounts-and-access/">Prepare user accounts and site access</a></li><li class="page_item page-item-21194"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/the-domain/">Prepare the domain</a></li><li class="page_item page-item-21196"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/migrate-content/">Migrate site content</a></li><li class="page_item page-item-21198"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/test-your-site/">Test your site</a></li><li class="page_item page-item-21200"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/launch-your-site/">Launch your site</a></li></ul></li></ul><br /><h2 class="a8c-docs-sidebar-list__heading">All Categories</h2><ul class="a8c-docs-sidebar-list"><li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17100"><a href="https://docs.wpvip.com/access-and-routing/">Access & routing</a> <button aria-expanded="false" aria-label="Submenu for Access & routing" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17137"><a href="https://docs.wpvip.com/access-and-routing/access-controlled-files/">Access-Controlled Files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16979"><a href="https://docs.wpvip.com/access-and-routing/basic-authentication/">Basic Authentication</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16990"><a href="https://docs.wpvip.com/access-and-routing/block-requests/">Block unwanted requests to a site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17008"><a href="https://docs.wpvip.com/access-and-routing/enable-hsts/">HTTP Strict-Transport-Security (HSTS)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16980"><a href="https://docs.wpvip.com/access-and-routing/ip-allow-list/">IP Allow List</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19075"><a href="https://docs.wpvip.com/access-and-routing/maintenance-mode/">Maintenance Mode plugin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17119"><a href="https://docs.wpvip.com/access-and-routing/partial-restriction-site-access/">Partial restriction of site access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16993"><a href="https://docs.wpvip.com/access-and-routing/robots-txt/">robots.txt</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-9154"><a href="https://docs.wpvip.com/caching/">Caching</a> <button aria-expanded="false" aria-label="Submenu for Caching" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-9839"><a href="https://docs.wpvip.com/caching/object-cache/">Object cache</a> <button aria-expanded="false" aria-label="Submenu for Object cache" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16433"><a href="https://docs.wpvip.com/caching/object-cache/flush-the-object-cache/">Flush the object cache</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-9835"><a href="https://docs.wpvip.com/caching/page-cache/">Page cache</a> <button aria-expanded="false" aria-label="Submenu for Page cache" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9840"><a href="https://docs.wpvip.com/caching/page-cache/cache-api/">Customize page cache behavior</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-14030"><a href="https://docs.wpvip.com/caching/page-cache/query-parameter-caching/">Caching of query parameters</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9841"><a href="https://docs.wpvip.com/caching/page-cache/cookies/">Cookies</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9842"><a href="https://docs.wpvip.com/caching/page-cache/stale-responses/">Stale responses</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17332"><a href="https://docs.wpvip.com/caching/page-cache/modify-max-age/">Cache-control headers</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-9833"><a href="https://docs.wpvip.com/caching/page-cache/purge-urls/">Purge a URL from the page cache</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9834"><a href="https://docs.wpvip.com/caching/page-cache/the-vip-cache-personalization-api/">The VIP Cache Personalization API</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9837"><a href="https://docs.wpvip.com/caching/query-cache/">Query cache</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-16037"><a href="https://docs.wpvip.com/caching/static-asset-caching/">Static asset caching</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9838"><a href="https://docs.wpvip.com/caching/uncached-functions/">Uncached functions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-9832"><a href="https://docs.wpvip.com/caching/disable-term-cache-priming/">Disable WordPress Core’s term cache priming</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17990"><a href="https://docs.wpvip.com/code-deployment/">Code deployment</a> <button aria-expanded="false" aria-label="Submenu for Code deployment" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-21409"><a href="https://docs.wpvip.com/code-deployment/custom-deployment/">Custom Deployment</a> <button aria-expanded="false" aria-label="Submenu for Custom Deployment" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22113"><a href="https://docs.wpvip.com/code-deployment/custom-deployment/continuous-deployment/">Custom Deployment with continuous deployment</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-21410"><a href="https://docs.wpvip.com/code-deployment/default-deployment/">Default Deployment</a> <button aria-expanded="false" aria-label="Submenu for Default Deployment" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-18736"><a href="https://docs.wpvip.com/code-deployment/default-deployment/build-and-deploy/">Build and deploy</a> <button aria-expanded="false" aria-label="Submenu for Build and deploy" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17080"><a href="https://docs.wpvip.com/code-deployment/default-deployment/build-and-deploy/ci-cd/">Continuous integration and deployment (CI/CD)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16931"><a href="https://docs.wpvip.com/code-deployment/default-deployment/build-and-deploy/configure-builds-on-circleci/">Configure builds on CircleCI</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18738"><a href="https://docs.wpvip.com/code-deployment/default-deployment/build-and-deploy/built-files-without-ci/">Deploying built files without a CI service</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17991"><a href="https://docs.wpvip.com/code-deployment/default-deployment/deploying-branches/">Deploying branches</a> <button aria-expanded="false" aria-label="Submenu for Deploying branches" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16959"><a href="https://docs.wpvip.com/code-deployment/default-deployment/deploying-branches/update/">Update an environment’s deploying branch</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17073"><a href="https://docs.wpvip.com/code-deployment/github-repository/">GitHub repository</a> <button aria-expanded="false" aria-label="Submenu for GitHub repository" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16928"><a href="https://docs.wpvip.com/code-deployment/github-repository/required-status-checks/">Enable required status checks for pull requests</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16929"><a href="https://docs.wpvip.com/code-deployment/github-repository/composer/">Using Composer on VIP</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17079"><a href="https://docs.wpvip.com/code-deployment/default-deployment/developing-from-another-repository/">Develop code in a non-wpcomvip repository</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21403"><a href="https://docs.wpvip.com/code-deployment/cache-clearing/">Code deployment and cache clearing</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17087"><a href="https://docs.wpvip.com/code-deployment/default-deployment/deploying-branches/deployments-panel/">Deployments log in the VIP Dashboard</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18716"><a href="https://docs.wpvip.com/code-deployment/duration-of-time/">Duration of time for a deployment to complete</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17998"><a href="https://docs.wpvip.com/code-deployment/rollbacks/">Rollbacks in the VIP Dashboard</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17061"><a href="https://docs.wpvip.com/codebase-manager/">Codebase Manager</a> <button aria-expanded="false" aria-label="Submenu for Codebase Manager" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17069"><a href="https://docs.wpvip.com/codebase-manager/plugins-panel/">VIP Dashboard Plugins panel</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17072"><a href="https://docs.wpvip.com/codebase-manager/vulnerability-and-update-scan/">Vulnerability and Update Scan by the VIP Code Analysis Bot</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17063"><a href="https://docs.wpvip.com/databases/">Databases</a> <button aria-expanded="false" aria-label="Submenu for Databases" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22203"><a href="https://docs.wpvip.com/databases/access/">Database access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17059"><a href="https://docs.wpvip.com/databases/backups/">Database Backups</a> <button aria-expanded="false" aria-label="Submenu for Database Backups" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17518"><a href="https://docs.wpvip.com/databases/backups/limitations/">Limitations</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17532"><a href="https://docs.wpvip.com/databases/backups/access/">Access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17538"><a href="https://docs.wpvip.com/databases/backups/download-a-full-database-backup/">Download a full database backup</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17546"><a href="https://docs.wpvip.com/databases/backups/download-a-partial-database-backup/">Download a partial database backup</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17551"><a href="https://docs.wpvip.com/databases/backups/download-a-database-backup-for-a-network-site/">Download a database backup for a network site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17556"><a href="https://docs.wpvip.com/databases/backups/generate-a-fresh-database-backup/">Generate a new database backup</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17562"><a href="https://docs.wpvip.com/databases/backups/database-backup-link/">Copy a link to a prepared database backup</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16935"><a href="https://docs.wpvip.com/databases/backups/database-backup-shipping/">Database Backup Shipping</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17060"><a href="https://docs.wpvip.com/databases/data-sync/">Data sync from production to non-production environments</a> <button aria-expanded="false" aria-label="Submenu for Data sync from production to non-production environments" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17058"><a href="https://docs.wpvip.com/databases/data-sync/config-file/">Data sync config file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20781"><a href="https://docs.wpvip.com/databases/data-sync/cleanup-operations/">Cleanup operations for data syncing</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16923"><a href="https://docs.wpvip.com/databases/import/">Import database files</a> <button aria-expanded="false" aria-label="Submenu for Import database files" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17580"><a href="https://docs.wpvip.com/databases/import/import-with-vip-cli/">Import database files with VIP-CLI</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16925"><a href="https://docs.wpvip.com/databases/import/validate-sql-file/">Validate a SQL database file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17591"><a href="https://docs.wpvip.com/databases/import/check-the-status/">Check the status of an import</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17579"><a href="https://docs.wpvip.com/databases/import/updating-values/">Update domain name values</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17587"><a href="https://docs.wpvip.com/databases/import/multisite-database-imports/">Database imports for multisite environments</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17600"><a href="https://docs.wpvip.com/databases/import/export-a-file-for-migration/">Export a SQL file from a site not hosted at WordPress VIP</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17030"><a href="https://docs.wpvip.com/databases/optimize-queries/">Optimize database queries</a> <button aria-expanded="false" aria-label="Submenu for Optimize database queries" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17042"><a href="https://docs.wpvip.com/databases/optimize-queries/using-post__not_in/">Avoid post__not_in</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17046"><a href="https://docs.wpvip.com/databases/optimize-queries/database-queries/">Best practices for database queries</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18513"><a href="https://docs.wpvip.com/databases/optimize-queries/defining-post_status-or-post_type/">Defining post_status or post_type</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17043"><a href="https://docs.wpvip.com/databases/optimize-queries/encode-values-passed-to-add_query_arg/">Encode values passed to `add_query_arg`</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16914"><a href="https://docs.wpvip.com/databases/optimize-queries/filtering-wp_unique_post_slug/">Fix performance issues by filtering wp_unique_post_slug</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22314"><a href="https://docs.wpvip.com/databases/optimize-queries/identify-slow-queries/">Identify slow queries</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17045"><a href="https://docs.wpvip.com/databases/optimize-queries/querying-on-meta_value/">Meta queries</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16915"><a href="https://docs.wpvip.com/databases/optimize-queries/optimize-core-queries-at-scale/">Optimize core queries at scale</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17047"><a href="https://docs.wpvip.com/databases/optimize-queries/retrieving-remote-data/">Retrieving remote data</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17044"><a href="https://docs.wpvip.com/databases/optimize-queries/term-queries-should-consider-include_children-false/">Taxonomy queries should set `include_children` to false</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17066"><a href="https://docs.wpvip.com/databases/supported-collations-charsets/">Supported character sets and collations</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17032"><a href="https://docs.wpvip.com/development-workflow/">Developing on WordPress VIP</a> <button aria-expanded="false" aria-label="Submenu for Developing on WordPress VIP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17057"><a href="https://docs.wpvip.com/development-workflow/github-pr-reviews/">GitHub pull request flow</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17031"><a href="https://docs.wpvip.com/development-workflow/code-review/">Code review</a> <button aria-expanded="false" aria-label="Submenu for Code review" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17049"><a href="https://docs.wpvip.com/development-workflow/code-review/review-recommendations/">Reduce review times</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17048"><a href="https://docs.wpvip.com/development-workflow/code-review/reduce-pull-request-size/">Reduce the size of a pull request</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16919"><a href="https://docs.wpvip.com/development-workflow/create-good-changesets/">Create good changesets</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16920"><a href="https://docs.wpvip.com/development-workflow/write-a-good-commit-message/">Elements of a good commit message</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17007"><a href="https://docs.wpvip.com/development-workflow/contribute-to-wordpress/">Contribute to WordPress Core</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17075"><a href="https://docs.wpvip.com/domains/">Domains</a> <button aria-expanded="false" aria-label="Submenu for Domains" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16934"><a href="https://docs.wpvip.com/domains/map-a-domain/">Add a domain</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16933"><a href="https://docs.wpvip.com/domains/check-dns-record-time-to-live/">Check DNS record time to live (TTL)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17085"><a href="https://docs.wpvip.com/domains/convenience-domains/">Convenience domain</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21763"><a href="https://docs.wpvip.com/domains/default-behavior/">Default behavior of domains</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-22793"><a href="https://docs.wpvip.com/domains/dns-records-for-email/">DNS records to send email from a custom domain</a> <button aria-expanded="false" aria-label="Submenu for DNS records to send email from a custom domain" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22792"><a href="https://docs.wpvip.com/domains/dns-records-for-email/check-status/">Check the status of DNS records for email</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17082"><a href="https://docs.wpvip.com/domains/fqdn/">Fully qualified domain names (FQDN)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17084"><a href="https://docs.wpvip.com/domains/managing-your-hosts-file/">Modify a hosts file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16932"><a href="https://docs.wpvip.com/domains/point-dns-to-vip/">Point DNS for a domain to WPVIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-16960"><a href="https://docs.wpvip.com/domains/primary-domain/">Primary domain</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19974"><a href="https://docs.wpvip.com/domains/verification/">Verify a domain</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17105"><a href="https://docs.wpvip.com/domains/multiple-domains/">Configure multiple domains to resolve to the same network site</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17093"><a href="https://docs.wpvip.com/enterprise-search/">Enterprise Search</a> <button aria-expanded="false" aria-label="Submenu for Enterprise Search" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21944"><a href="https://docs.wpvip.com/enterprise-search/es-limitations/">Limitations of Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16953"><a href="https://docs.wpvip.com/enterprise-search/enable/">Enable Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16948"><a href="https://docs.wpvip.com/enterprise-search/index/">Index with Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16942"><a href="https://docs.wpvip.com/enterprise-search/version/">Version with Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16945"><a href="https://docs.wpvip.com/enterprise-search/multisite/">Enterprise Search on multisite</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16940"><a href="https://docs.wpvip.com/enterprise-search/check-index-health/">Check the index health</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16939"><a href="https://docs.wpvip.com/enterprise-search/indexing/">Choose what to index</a> <button aria-expanded="false" aria-label="Submenu for Choose what to index" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16952"><a href="https://docs.wpvip.com/enterprise-search/indexing/post-types/">Indexing post types</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16938"><a href="https://docs.wpvip.com/enterprise-search/indexing/post-statuses/">Indexing post statuses</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16951"><a href="https://docs.wpvip.com/enterprise-search/indexing/post-taxonomies/">Indexing post taxonomies</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16950"><a href="https://docs.wpvip.com/enterprise-search/indexing/post-meta/">Indexing post meta</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16963"><a href="https://docs.wpvip.com/enterprise-search/indexing/user-meta/">Indexing user meta</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16949"><a href="https://docs.wpvip.com/enterprise-search/enable-features/">Enable Enterprise Search features</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16946"><a href="https://docs.wpvip.com/enterprise-search/enable-non-search-queries/">Offload any WP_Query to Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16937"><a href="https://docs.wpvip.com/enterprise-search/enable-for-wp-admin/">Enable Enterprise Search for the WordPress Admin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16941"><a href="https://docs.wpvip.com/enterprise-search/search-tokenization/">Search tokenization</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16947"><a href="https://docs.wpvip.com/enterprise-search/rate-limiting/">Rate limiting in Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16944"><a href="https://docs.wpvip.com/enterprise-search/customize-search-results/">Customize search results</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16943"><a href="https://docs.wpvip.com/enterprise-search/dev-tools/">Debug with Enterprise Search Dev Tools</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17077"><a href="https://docs.wpvip.com/infrastructure/">Infrastructure</a> <button aria-expanded="false" aria-label="Submenu for Infrastructure" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17090"><a href="https://docs.wpvip.com/infrastructure/environments/">Environments</a> <button aria-expanded="false" aria-label="Submenu for Environments" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17094"><a href="https://docs.wpvip.com/infrastructure/environments/software-management/">Software Versions management</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16958"><a href="https://docs.wpvip.com/infrastructure/environments/manage-environment-variables/">Manage environment variables</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16927"><a href="https://docs.wpvip.com/infrastructure/environments/environment-specific-code/">Write environment-specific code</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18130"><a href="https://docs.wpvip.com/infrastructure/environments/indicator-labels/">Environment indicator labels</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-16974"><a href="https://docs.wpvip.com/infrastructure/origin-servers/">Origin servers</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17078"><a href="https://docs.wpvip.com/infrastructure/edge-cache/">Edge cache servers</a> <button aria-expanded="false" aria-label="Submenu for Edge cache servers" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20867"><a href="https://docs.wpvip.com/infrastructure/edge-cache/file-compression/">Edge cache file compression</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20866"><a href="https://docs.wpvip.com/infrastructure/edge-cache/global-locations/">Global locations of edge cache servers</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23052"><a href="https://docs.wpvip.com/infrastructure/edge-cache/target-a-location/">Target a specific edge server location</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17095"><a href="https://docs.wpvip.com/infrastructure/ip-geolocation/">IP geolocation</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17091"><a href="https://docs.wpvip.com/infrastructure/ip-ranges/">IP ranges</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16956"><a href="https://docs.wpvip.com/infrastructure/http-headers/">HTTP response headers</a> <button aria-expanded="false" aria-label="Submenu for HTTP response headers" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23059"><a href="https://docs.wpvip.com/infrastructure/http-headers/add-edit-or-remove/">Add, edit, or remove HTTP response headers</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23054"><a href="https://docs.wpvip.com/infrastructure/http-headers/added-by-wpvip/">HTTP response headers added by WPVIP</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17096"><a href="https://docs.wpvip.com/infrastructure/vip-user-agents/">VIP User-Agents</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16957"><a href="https://docs.wpvip.com/infrastructure/retire-a-site/">Retire a site from VIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17092"><a href="https://docs.wpvip.com/infrastructure/disaster-recovery/">Disaster recovery</a> <button aria-expanded="false" aria-label="Submenu for Disaster recovery" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22339"><a href="https://docs.wpvip.com/infrastructure/disaster-recovery/geographical-redundancy/">Geographical Redundancy for disaster recovery</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16926"><a href="https://docs.wpvip.com/launch-a-site/">Launch a site</a> <button aria-expanded="false" aria-label="Submenu for Launch a site" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16954"><a href="https://docs.wpvip.com/launch-a-site/begin-a-single-site-launch/">Begin a single site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16969"><a href="https://docs.wpvip.com/launch-a-site/begin-a-multisite-launch/">Begin a network site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16989"><a href="https://docs.wpvip.com/launch-a-site/node-js-launch/">Begin a Node.js site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16968"><a href="https://docs.wpvip.com/launch-a-site/complete-a-site-launch/">Complete a site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16967"><a href="https://docs.wpvip.com/launch-a-site/launch-troubleshooting/">Troubleshoot a WordPress site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16970"><a href="https://docs.wpvip.com/launch-a-site/testing-your-site/">Test a WordPress site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20239"><a href="https://docs.wpvip.com/launch-a-site/launched/">Launched</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20240"><a href="https://docs.wpvip.com/launch-a-site/unlaunched/">Unlaunched</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17103"><a href="https://docs.wpvip.com/launch-a-site/order-of-launch/">Order of launching sites on a multisite</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16966"><a href="https://docs.wpvip.com/launch-a-site/manual-launch/">Manually launch a site on a multisite</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18214"><a href="https://docs.wpvip.com/launch-a-site/redesign/">Launches for site redesigns</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16964"><a href="https://docs.wpvip.com/local-development/">Local and cloud development</a> <button aria-expanded="false" aria-label="Submenu for Local and cloud development" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16971"><a href="https://docs.wpvip.com/local-development/add-site-content/">Add VIP production site content for local development</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-19611"><a href="https://docs.wpvip.com/local-development/github-codespaces/">Developing with GitHub Codespaces</a> <button aria-expanded="false" aria-label="Submenu for Developing with GitHub Codespaces" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20541"><a href="https://docs.wpvip.com/local-development/github-codespaces/access-logs/">Access logs for GitHub Codespaces</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20510"><a href="https://docs.wpvip.com/local-development/github-codespaces/customize-config-file/">Customize the Codespaces configuration file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20504"><a href="https://docs.wpvip.com/local-development/github-codespaces/import-database/">Import a SQL database file to Codespaces</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20545"><a href="https://docs.wpvip.com/local-development/github-codespaces/codespaces-database-sync/">Sync a platform database to Codespaces</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16972"><a href="https://docs.wpvip.com/local-development/set-up-vvv/">Set up VVV for VIP development</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16988"><a href="https://docs.wpvip.com/local-development/third-party-app/">Set up a third-party local development app</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17883"><a href="https://docs.wpvip.com/logs/">Logs</a> <button aria-expanded="false" aria-label="Submenu for Logs" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17161"><a href="https://docs.wpvip.com/logs/audit-log/">Audit Log</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17088"><a href="https://docs.wpvip.com/logs/log-shipping/">HTTP request Log Shipping</a> <button aria-expanded="false" aria-label="Submenu for HTTP request Log Shipping" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20297"><a href="https://docs.wpvip.com/logs/log-shipping/aws-s3-bucket-requirements/">AWS S3 bucket requirements</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16975"><a href="https://docs.wpvip.com/logs/log-shipping/enable/">Enable HTTP request Log Shipping</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19809"><a href="https://docs.wpvip.com/logs/log-shipping/log-contents/">Contents of HTTP request logs</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16955"><a href="https://docs.wpvip.com/logs/log-shipping/analyze-with-goaccess/">Analyze HTTP request logs with GoAccess</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17187"><a href="https://docs.wpvip.com/logs/runtime-logs/">Runtime Logs </a> <button aria-expanded="false" aria-label="Submenu for Runtime Logs " class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17158"><a href="https://docs.wpvip.com/logs/runtime-logs/dashboard/">Runtime Logs in the VIP Dashboard</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17001"><a href="https://docs.wpvip.com/logs/runtime-logs/cli/">Retrieve Runtime Logs with VIP-CLI</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17083"><a href="https://docs.wpvip.com/logs/slow-query/">Slow Query Logs</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17195"><a href="https://docs.wpvip.com/logs/wp-cli-commands/">WP-CLI Commands log</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16983"><a href="https://docs.wpvip.com/manage-user-access/">Manage user access</a> <button aria-expanded="false" aria-label="Submenu for Manage user access" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17123"><a href="https://docs.wpvip.com/manage-user-access/github/">GitHub user access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17147"><a href="https://docs.wpvip.com/manage-user-access/new-relic/">New Relic user access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17146"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/">VIP Dashboard access</a> <button aria-expanded="false" aria-label="Submenu for VIP Dashboard access" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17102"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/org-roles/">Org roles and permissions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17128"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/app-role/">App role and permissions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16985"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/invite-new-users/">Invite new users</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16986"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/edit-user-roles/">Edit user roles</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18569"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/copy-user-roles/">Copy user roles</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16987"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/remove-user/">Remove a user</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-18499"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/sso/">Single Sign-On</a> <button aria-expanded="false" aria-label="Submenu for Single Sign-On" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18498"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/sso/configurations/">Configurations</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18497"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/sso/enforce-sso/">Enforce SSO</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17125"><a href="https://docs.wpvip.com/manage-user-access/wordpress/">WordPress user access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17124"><a href="https://docs.wpvip.com/manage-user-access/zendesk/">Zendesk user access</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17098"><a href="https://docs.wpvip.com/node-js/">Node.js on WPVIP</a> <button aria-expanded="false" aria-label="Submenu for Node.js on WPVIP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17145"><a href="https://docs.wpvip.com/node-js/application-requirements/">Node.js application requirements</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17122"><a href="https://docs.wpvip.com/node-js/health-checks/">Health checks</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16981"><a href="https://docs.wpvip.com/node-js/manage-dependencies/">Manage dependencies in Node.js</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17120"><a href="https://docs.wpvip.com/node-js/building-applications/">Building Node.js applications</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16984"><a href="https://docs.wpvip.com/node-js/debug/">Debug a Node.js application</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17127"><a href="https://docs.wpvip.com/node-js/deployment-validation/">Deployment validation for Node.js applications</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17108"><a href="https://docs.wpvip.com/node-js/integrating-redis/">Integrating Redis</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17109"><a href="https://docs.wpvip.com/node-js/managing-node-js-versions/">Managing Node.js versions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17107"><a href="https://docs.wpvip.com/node-js/environment-variables/">Node.js environment variables</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16977"><a href="https://docs.wpvip.com/node-js/serve-static-content/">Serve static content</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17121"><a href="https://docs.wpvip.com/node-js/websockets/">WebSockets</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17289"><a href="https://docs.wpvip.com/notifications/">Notifications</a> <button aria-expanded="false" aria-label="Submenu for Notifications" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17293"><a href="https://docs.wpvip.com/notifications/destinations/">Destinations</a> <button aria-expanded="false" aria-label="Submenu for Destinations" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17290"><a href="https://docs.wpvip.com/notifications/destinations/webhook-urls/">General-purpose webhook URLs</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21636"><a href="https://docs.wpvip.com/notifications/important-alerts/">Important Alerts</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22277"><a href="https://docs.wpvip.com/notifications/event-types/">Notification event types</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17292"><a href="https://docs.wpvip.com/notifications/organization-notifications/">Notifications for an organization</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17291"><a href="https://docs.wpvip.com/notifications/application-notifications/">Notifications for an application</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17111"><a href="https://docs.wpvip.com/parse-ly/">Parse.ly</a> <button aria-expanded="false" aria-label="Submenu for Parse.ly" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20451"><a href="https://docs.wpvip.com/parse-ly/wp-parsely/">wp-parsely plugin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16992"><a href="https://docs.wpvip.com/parse-ly/enabling-and-disabling/">Enabling and disabling wp-parsely</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-20450"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/">wp-parsely features</a> <button aria-expanded="false" aria-label="Submenu for wp-parsely features" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20449"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/content-helper/">Content Helper</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20448"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/title-suggestions/">Title Suggestions (Beta)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20447"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/excerpt-suggestions/">Excerpt Suggestions (Beta)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20446"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/smart-linking/">Smart Linking (Beta)</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17144"><a href="https://docs.wpvip.com/parse-ly/configuration/">Configuration</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17143"><a href="https://docs.wpvip.com/parse-ly/consent-management/">Consent management and Parse.ly</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17884"><a href="https://docs.wpvip.com/performance/">Performance</a> <button aria-expanded="false" aria-label="Submenu for Performance" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16916"><a href="https://docs.wpvip.com/performance/analyze-server-performance/">Analyze a site’s server performance</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19262"><a href="https://docs.wpvip.com/performance/analyze-requests-and-application-code/">Analyze requests and application code for performance</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-18819"><a href="https://docs.wpvip.com/performance/insights-metrics/">Insights & Metrics</a> <button aria-expanded="false" aria-label="Submenu for Insights & Metrics" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20685"><a href="https://docs.wpvip.com/performance/insights-metrics/http-metrics/">HTTP metrics</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20686"><a href="https://docs.wpvip.com/performance/insights-metrics/resource-metrics/">Resource Usage metrics</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20687"><a href="https://docs.wpvip.com/performance/insights-metrics/database-metrics/">Database metrics</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20688"><a href="https://docs.wpvip.com/performance/insights-metrics/cache-metrics/">Cache metrics</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22278"><a href="https://docs.wpvip.com/performance/insights-metrics/anomalies/">Performance metrics anomalies</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18260"><a href="https://docs.wpvip.com/performance/load-testing/">Load testing</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17055"><a href="https://docs.wpvip.com/performance/new-relic/">New Relic</a> <button aria-expanded="false" aria-label="Submenu for New Relic" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17065"><a href="https://docs.wpvip.com/performance/new-relic/for-node-js/">New Relic for Node.js</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17064"><a href="https://docs.wpvip.com/performance/new-relic/for-wordpress/">New Relic for WordPress</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16922"><a href="https://docs.wpvip.com/performance/new-relic/manually-log-errors/">Manually log errors in New Relic</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17068"><a href="https://docs.wpvip.com/performance/query-monitor/">Query Monitor</a> <button aria-expanded="false" aria-label="Submenu for Query Monitor" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16921"><a href="https://docs.wpvip.com/performance/query-monitor/enable/">Enable Query Monitor</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19263"><a href="https://docs.wpvip.com/performance/identify-performance-issues/">Resources for identifying performance issues</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16965"><a href="https://docs.wpvip.com/php_codesniffer/">PHPCS</a> <button aria-expanded="false" aria-label="Submenu for PHPCS" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17629"><a href="https://docs.wpvip.com/php_codesniffer/install-globally/">Install PHPCS globally</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17628"><a href="https://docs.wpvip.com/php_codesniffer/install-at-project-level/">Install PHPCS at the project level</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17630"><a href="https://docs.wpvip.com/php_codesniffer/run-against-code/">Run PHPCS against code</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17101"><a href="https://docs.wpvip.com/php_codesniffer/phpcs-report/">Interpreting a PHPCS report</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17053"><a href="https://docs.wpvip.com/php_codesniffer/errors/">PHPCS errors</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17052"><a href="https://docs.wpvip.com/php_codesniffer/warnings/">PHPCS warnings</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-18961"><a href="https://docs.wpvip.com/plugins/">Plugins</a> <button aria-expanded="false" aria-label="Submenu for Plugins" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9962"><a href="https://docs.wpvip.com/plugins/installing-plugins/">Add a plugin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-9951"><a href="https://docs.wpvip.com/plugins/activate-plugins-through-code/">Activate a plugin through code</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9960"><a href="https://docs.wpvip.com/plugins/version-updates-and-maintenance/">Version updates for third-party plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9958"><a href="https://docs.wpvip.com/plugins/third-party-plugins/">Evaluate third-party plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9949"><a href="https://docs.wpvip.com/plugins/incompatibilities/">Plugin incompatibilities</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9961"><a href="https://docs.wpvip.com/plugins/load-order/">Load order of plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-14891"><a href="https://docs.wpvip.com/plugins/automattic-plugins/">Automattic plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9959"><a href="https://docs.wpvip.com/plugins/technology-partner-plugins/">Technology Partner plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17512"><a href="https://docs.wpvip.com/plugins/helper-file/">Plugin helper file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17177"><a href="https://docs.wpvip.com/plugins/woocommerce/">WooCommerce</a> <button aria-expanded="false" aria-label="Submenu for WooCommerce" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17024"><a href="https://docs.wpvip.com/plugins/woocommerce/upgrade-woocommerce/">Upgrade WooCommerce on VIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17206"><a href="https://docs.wpvip.com/plugins/woocommerce/caching-for-woocommerce/">Caching for WooCommerce</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17205"><a href="https://docs.wpvip.com/plugins/woocommerce/customizing-woocommerce/">Customizing WooCommerce</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17025"><a href="https://docs.wpvip.com/plugins/woocommerce/woocommerce-debug-logging/">Enable WooCommerce Debug Logging</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17026"><a href="https://docs.wpvip.com/plugins/woocommerce/troubleshoot-woocommerce/">Troubleshoot WooCommerce</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17099"><a href="https://docs.wpvip.com/redirects/">Redirects</a> <button aria-expanded="false" aria-label="Submenu for Redirects" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21937"><a href="https://docs.wpvip.com/redirects/limitations-for-files/">Limitations on redirects for files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17117"><a href="https://docs.wpvip.com/redirects/domain-redirects-in-vip-config-php/">Redirects in vip-config.php</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17118"><a href="https://docs.wpvip.com/redirects/redirects-in-theme-code/">Writing redirects directly into a site’s theme code</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17138"><a href="https://docs.wpvip.com/reverse-proxy/">Reverse proxy</a> <button aria-expanded="false" aria-label="Submenu for Reverse proxy" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16991"><a href="https://docs.wpvip.com/reverse-proxy/configure/">Configure a reverse proxy</a> <button aria-expanded="false" aria-label="Submenu for Configure a reverse proxy" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19122"><a href="https://docs.wpvip.com/reverse-proxy/configure/request-header-verification/">Log True-Client-IP and add a proxy verification method</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19121"><a href="https://docs.wpvip.com/reverse-proxy/configure/ip-allow-list-verification/">Log True-Client-IP with an IP allow list</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17004"><a href="https://docs.wpvip.com/reverse-proxy/test/">Test a proxy configuration</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17005"><a href="https://docs.wpvip.com/reverse-proxy/domains-and-tls/">Configure domains and TLS for a reverse proxy</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17131"><a href="https://docs.wpvip.com/security/">Security</a> <button aria-expanded="false" aria-label="Submenu for Security" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17173"><a href="https://docs.wpvip.com/security/for-wordpress/">WordPress security on VIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17149"><a href="https://docs.wpvip.com/security/user-recommendations/">Security recommendations for all users</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17140"><a href="https://docs.wpvip.com/security/wordpress-sso/">Single Sign-On (SSO) for WordPress</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17139"><a href="https://docs.wpvip.com/security/two-factor-authentication/">Two-factor authentication for WordPress</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17871"><a href="https://docs.wpvip.com/security/penetration-testing/">Penetration testing</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22572"><a href="https://docs.wpvip.com/security/phishing/">Phishing</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17150"><a href="https://docs.wpvip.com/security/javascript-security-recommendations/">JavaScript security recommendations</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17148"><a href="https://docs.wpvip.com/security/validating-sanitizing-and-escaping/">Validating, sanitizing, and escaping</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17136"><a href="https://docs.wpvip.com/tls/">TLS</a> <button aria-expanded="false" aria-label="Submenu for TLS" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16994"><a href="https://docs.wpvip.com/tls/lets-encrypt/">Install a Let’s Encrypt TLS certificate</a> <button aria-expanded="false" aria-label="Submenu for Install a Let’s Encrypt TLS certificate" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18632"><a href="https://docs.wpvip.com/tls/lets-encrypt/re-install/">Re-install a Let’s Encrypt certificate</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18627"><a href="https://docs.wpvip.com/tls/lets-encrypt/switch-to-custom-certificate/">Switch from a Let’s Encrypt certificate to a custom TLS certificate</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16995"><a href="https://docs.wpvip.com/tls/custom-cert/">Install a custom TLS certificate</a> <button aria-expanded="false" aria-label="Submenu for Install a custom TLS certificate" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18057"><a href="https://docs.wpvip.com/tls/custom-cert/requirements/">Requirements</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18056"><a href="https://docs.wpvip.com/tls/custom-cert/custom-tls-vip-csr/">Custom TLS certificates with a VIP CSR</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18055"><a href="https://docs.wpvip.com/tls/custom-cert/custom-tls-non-vip-csr/">Custom TLS certificates with a non-VIP CSR</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18643"><a href="https://docs.wpvip.com/tls/custom-cert/renew/">Renew a custom TLS certificate</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18054"><a href="https://docs.wpvip.com/tls/custom-cert/switch-to-lets-encrypt/">Switch from a custom TLS certificate to a Let’s Encrypt certificate</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17132"><a href="https://docs.wpvip.com/vip-code-analysis-bot/">VIP Code Analysis Bot</a> <button aria-expanded="false" aria-label="Submenu for VIP Code Analysis Bot" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17155"><a href="https://docs.wpvip.com/vip-code-analysis-bot/default-behavior/">Default behavior of the Bot</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17153"><a href="https://docs.wpvip.com/vip-code-analysis-bot/feedback/">Bot feedback and messages</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17151"><a href="https://docs.wpvip.com/vip-code-analysis-bot/auto-approvals/">Auto approvals</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17157"><a href="https://docs.wpvip.com/vip-code-analysis-bot/phpcs-analysis/">PHPCS analysis</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16997"><a href="https://docs.wpvip.com/vip-code-analysis-bot/customize-phpcs/">Customize PHPCS scanning</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17156"><a href="https://docs.wpvip.com/vip-code-analysis-bot/svg-analysis/">SVG analysis</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17154"><a href="https://docs.wpvip.com/vip-code-analysis-bot/php-linting/">PHP linting</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17152"><a href="https://docs.wpvip.com/vip-code-analysis-bot/build-status/">GitHub build status</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16996"><a href="https://docs.wpvip.com/vip-code-analysis-bot/customize-the-bot/">Customize the VIP Code Analysis Bot</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17133"><a href="https://docs.wpvip.com/vip-dashboard/">VIP Dashboard</a> <button aria-expanded="false" aria-label="Submenu for VIP Dashboard" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17159"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/">Log in to the VIP Dashboard</a> <button aria-expanded="false" aria-label="Submenu for Log in to the VIP Dashboard" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19013"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/github-auth/">Sign in with GitHub</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19012"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/sso-auth/">Sign in with SSO</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19014"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/wordpress-com-auth/">Sign in with WordPress.com</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22514"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/vip-auth/">VIP Authentication</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18496"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/troubleshooting/">Login failure errors</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17303"><a href="https://docs.wpvip.com/vip-dashboard/organization-view/">Organization view</a> <button aria-expanded="false" aria-label="Submenu for Organization view" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20261"><a href="https://docs.wpvip.com/vip-dashboard/organization-view/organization/">Organization</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17162"><a href="https://docs.wpvip.com/vip-dashboard/organization-view/usage/">Usage</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17188"><a href="https://docs.wpvip.com/vip-dashboard/organization-view/people/">People</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17304"><a href="https://docs.wpvip.com/vip-dashboard/application-view/">Application view</a> <button aria-expanded="false" aria-label="Submenu for Application view" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-16976"><a href="https://docs.wpvip.com/vip-dashboard/application-view/application/">Application</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17160"><a href="https://docs.wpvip.com/vip-dashboard/overview/">Overview</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17186"><a href="https://docs.wpvip.com/vip-dashboard/user-settings/">Settings</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17185"><a href="https://docs.wpvip.com/vip-dashboard/my-organizations/">My Organizations</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17134"><a href="https://docs.wpvip.com/vip-file-system/">VIP File System</a> <button aria-expanded="false" aria-label="Submenu for VIP File System" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17002"><a href="https://docs.wpvip.com/vip-file-system/import-media-files/">Import media files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17006"><a href="https://docs.wpvip.com/vip-file-system/media-backups/">Media Backups</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17164"><a href="https://docs.wpvip.com/vip-file-system/supported-file-types/">Supported file types</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17169"><a href="https://docs.wpvip.com/vip-file-system/image-files/">Image file behavior</a> <button aria-expanded="false" aria-label="Submenu for Image file behavior" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19825"><a href="https://docs.wpvip.com/vip-file-system/image-files/image-quality/">Image quality and next-gen formats</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17165"><a href="https://docs.wpvip.com/vip-file-system/image-files/transformations/">Image transformation</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17168"><a href="https://docs.wpvip.com/vip-file-system/image-files/intermediate-images/">Intermediate images</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17167"><a href="https://docs.wpvip.com/vip-file-system/image-files/responsive-images/">Responsive images</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16998"><a href="https://docs.wpvip.com/vip-file-system/image-files/strip-image-metadata/">Strip image metadata on upload</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17945"><a href="https://docs.wpvip.com/vip-file-system/modify-uploads-directory/">Modify the /uploads path structure</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17932"><a href="https://docs.wpvip.com/vip-file-system/versioning-files/">Overwriting and versioning files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17166"><a href="https://docs.wpvip.com/vip-file-system/shared-media-files/">Shared media files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17171"><a href="https://docs.wpvip.com/vip-file-system/media-uploads/">Working with uploaded files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17170"><a href="https://docs.wpvip.com/vip-file-system/local-file-operations/">Working with the /tmp directory</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17135"><a href="https://docs.wpvip.com/vip-local-development-environment/">VIP Local Development Environment</a> <button aria-expanded="false" aria-label="Submenu for VIP Local Development Environment" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21131"><a href="https://docs.wpvip.com/vip-local-development-environment/limitations/">Limitations</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21130"><a href="https://docs.wpvip.com/vip-local-development-environment/requirements/">Requirements</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21049"><a href="https://docs.wpvip.com/vip-local-development-environment/stack-services/">Stack services</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17172"><a href="https://docs.wpvip.com/vip-local-development-environment/basic-usage/">Basic usage</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17011"><a href="https://docs.wpvip.com/vip-local-development-environment/dev-env-advanced-usage/">Advanced usage</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17000"><a href="https://docs.wpvip.com/vip-local-development-environment/create/">Create a VIP Local Development Environment</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17009"><a href="https://docs.wpvip.com/vip-local-development-environment/load-application-code/">Update a local environment to load application code</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17003"><a href="https://docs.wpvip.com/vip-local-development-environment/add-database-content/">Sync or import database content to a VIP Local Development Environment</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17010"><a href="https://docs.wpvip.com/vip-local-development-environment/add-media-content/">Add media to a VIP Local Development Environment</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17387"><a href="https://docs.wpvip.com/vip-local-development-environment/enable-https/">Enable HTTPS</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20517"><a href="https://docs.wpvip.com/vip-local-development-environment/environment-variables/">Manage environment variables</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16999"><a href="https://docs.wpvip.com/vip-local-development-environment/use-enterprise-search/">Use Enterprise Search on a VIP Local Development Environment</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17196"><a href="https://docs.wpvip.com/vip-local-development-environment/networking/">Networking</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17207"><a href="https://docs.wpvip.com/vip-local-development-environment/troubleshooting-dev-env/">Troubleshooting</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17191"><a href="https://docs.wpvip.com/vip-go-mu-plugins/">VIP MU plugins</a> <button aria-expanded="false" aria-label="Submenu for VIP MU plugins" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17215"><a href="https://docs.wpvip.com/vip-go-mu-plugins/branches-and-updates/">VIP MU plugins branches and updates</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17216"><a href="https://docs.wpvip.com/vip-go-mu-plugins/block-data-api-plugin/">Block Data API plugin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17198"><a href="https://docs.wpvip.com/vip-go-mu-plugins/file-concatenation-and-minification/">File concatenation and minification</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18154"><a href="https://docs.wpvip.com/vip-go-mu-plugins/block-governance-plugin/">WordPress VIP Block Governance plugin</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17175"><a href="https://docs.wpvip.com/vip-support/">WPVIP Support</a> <button aria-expanded="false" aria-label="Submenu for WPVIP Support" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22361"><a href="https://docs.wpvip.com/vip-support/information-in-a-ticket/">Information to include in a Support ticket</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17209"><a href="https://docs.wpvip.com/vip-support/site-access/">Site access for WPVIP Support</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17179"><a href="https://docs.wpvip.com/vip-support/vip-product-feedback/">Product feedback</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17017"><a href="https://docs.wpvip.com/vip-support/add-powered-by-wordpress-vip-to-your-site/">Add “Powered by WordPress VIP” to a site</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17176"><a href="https://docs.wpvip.com/vip-cli/">VIP-CLI</a> <button aria-expanded="false" aria-label="Submenu for VIP-CLI" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17204"><a href="https://docs.wpvip.com/vip-cli/installing-vip-cli/">Install VIP-CLI</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19696"><a href="https://docs.wpvip.com/vip-cli/commands/">Command reference</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17018"><a href="https://docs.wpvip.com/vip-cli/target-environments/">Target environments with VIP-CLI commands</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17202"><a href="https://docs.wpvip.com/vip-cli/advanced-usage/">Advanced usage</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17203"><a href="https://docs.wpvip.com/vip-cli/troubleshooting/">Troubleshooting VIP-CLI</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17214"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/">WP-CLI with VIP-CLI</a> <button aria-expanded="false" aria-label="Submenu for WP-CLI with VIP-CLI" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17201"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/disallowed-commands/">Disallowed WP-CLI commands</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17022"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/search-replace/">Use WP-CLI search-replace</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17019"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/save-command-output/">Save command output to a file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17023"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/write-custom-wp-cli-commands/">Write custom WP-CLI commands</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17020"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/wp-cli-commands-on-vip/">Best practices for writing WP-CLI commands</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17021"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/cli-commands-at-scale/">Write custom WP-CLI commands at scale</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17208"><a href="https://docs.wpvip.com/wordpress-on-vip/">WordPress on WPVIP</a> <button aria-expanded="false" aria-label="Submenu for WordPress on WPVIP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17213"><a href="https://docs.wpvip.com/wordpress-on-vip/action-scheduler/">Action Scheduler</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17071"><a href="https://docs.wpvip.com/wordpress-on-vip/autoloaded-options/">Autoloaded options</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17180"><a href="https://docs.wpvip.com/wordpress-on-vip/block-editor/">Block editor</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17200"><a href="https://docs.wpvip.com/wordpress-on-vip/cron-control/">WP-Cron</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17027"><a href="https://docs.wpvip.com/wordpress-on-vip/customize-user-roles/">Customize user roles</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17938"><a href="https://docs.wpvip.com/wordpress-on-vip/drop-ins/">Drop-ins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17212"><a href="https://docs.wpvip.com/wordpress-on-vip/email/">Email</a> <button aria-expanded="false" aria-label="Submenu for Email" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20915"><a href="https://docs.wpvip.com/wordpress-on-vip/email/send-from-custom-domain/">Send emails from a custom domain</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-17014"><a href="https://docs.wpvip.com/wordpress-on-vip/jetpack/">Jetpack</a> <button aria-expanded="false" aria-label="Submenu for Jetpack" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20346"><a href="https://docs.wpvip.com/wordpress-on-vip/jetpack/connections/">Jetpack connections</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17809"><a href="https://docs.wpvip.com/wordpress-on-vip/jetpack/version-updates/">Version updates for Jetpack</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17141"><a href="https://docs.wpvip.com/wordpress-on-vip/jetpack/content-distribution/">Control Jetpack content distribution</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17097"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/">WordPress multisite</a> <button aria-expanded="false" aria-label="Submenu for WordPress multisite" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17129"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/database-structure/">Database structure for multisites</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17126"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/network-sites/">Network Sites</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16973"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/create-new-sites/">Add a network site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18222"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/update-site-address-url/">Update the Site Address (URL) of a network site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17104"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/subdomains-subdirectories/">Subdomain and subdirectory structures</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17106"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/sunrise-php/">sunrise.php</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17211"><a href="https://docs.wpvip.com/wordpress-on-vip/php/">PHP</a> <button aria-expanded="false" aria-label="Submenu for PHP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17067"><a href="https://docs.wpvip.com/wordpress-on-vip/php/error-reporting/">PHP error reporting</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22230"><a href="https://docs.wpvip.com/wordpress-on-vip/php/php-sessions/">PHP sessions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17867"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/">Version updates for PHP</a> <button aria-expanded="false" aria-label="Submenu for Version updates for PHP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16982"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/code-scanning-for-php-upgrade/">Prepare application code for a PHP version update</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17862"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/phpcs-scans/">PHPCS scans for PHP version compatibility</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17863"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/php-linting-scans/">PHP linting for PHP version compatibility</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17864"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/static-analysis/">Static analysis tools for PHP version compatibility</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17865"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/automated-tests/">Automated tests for PHP version compatibility</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17866"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/platform-environment-tests/">Test a PHP update on a VIP Platform environment</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17041"><a href="https://docs.wpvip.com/wordpress-on-vip/local-time/">Obtaining a local time</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17197"><a href="https://docs.wpvip.com/wordpress-on-vip/post-revisions/">Post revisions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-20313"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/">Search options</a> <button aria-expanded="false" aria-label="Submenu for Search options" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-14794"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/wordpress-search/">Core WordPress search functionality</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9905"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/comparing-search-options/">Comparison of Elasticsearch options on WordPress VIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9159"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/elasticsearch/">Elasticsearch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-14795"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/jetpack-search/">Jetpack Search</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17199"><a href="https://docs.wpvip.com/wordpress-on-vip/wordpress-upgrades/">Version updates for WordPress</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17178"><a href="https://docs.wpvip.com/wordpress-on-vip/wordpress-rest-api/">WordPress REST API</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20245"><a href="https://docs.wpvip.com/wordpress-on-vip/wordpress-single-site/">WordPress single site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17210"><a href="https://docs.wpvip.com/wordpress-on-vip/xml-rpc/">XML-RPC</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17174"><a href="https://docs.wpvip.com/wordpress-skeleton/">WordPress skeleton</a> <button aria-expanded="false" aria-label="Submenu for WordPress skeleton" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17193"><a href="https://docs.wpvip.com/wordpress-skeleton/client-mu-plugins-directory/">/client-mu-plugins directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17181"><a href="https://docs.wpvip.com/wordpress-skeleton/docs-directory/">/docs directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17192"><a href="https://docs.wpvip.com/wordpress-skeleton/images-directory/">/images directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17012"><a href="https://docs.wpvip.com/wordpress-skeleton/languages-directory/">/languages directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17194"><a href="https://docs.wpvip.com/wordpress-skeleton/plugins-directory/">/plugins directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17189"><a href="https://docs.wpvip.com/wordpress-skeleton/private-directory/">/private directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17190"><a href="https://docs.wpvip.com/wordpress-skeleton/themes-directory/">/themes directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17184"><a href="https://docs.wpvip.com/wordpress-skeleton/vip-config-directory/">/vip-config directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17183"><a href="https://docs.wpvip.com/wordpress-skeleton/editorconfig/">.editorconfig</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17182"><a href="https://docs.wpvip.com/wordpress-skeleton/phpcs-xml-dist/">.phpcs.xml.dist</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17013"><a href="https://docs.wpvip.com/wordpress-skeleton/serve-static-content-wp/">Serve static content</a></li> </ul> </li> </ul><ul class="a8c-docs-sidebar-footer is-style-muted"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10908"><a href="https://wordpressvip.zendesk.com/">Contact Support</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11027"><a href="https://wpvipstatus.com/">WPVIP Status</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10905"><a href="https://lobby.vip.wordpress.com/">VIP Lobby</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10906"><a href="https://wpvip.com/resources/">Resource Library</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10907"><a href="https://docs.parse.ly/">Parse.ly Help</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19760"><a href="https://wpvip.com/privacy/">Privacy Policy</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15890"><a href="https://wpvip.com/accessibility/">Accessibility at WordPress VIP</a></li> </ul> </nav> <!-- .a8c-docs-layout__sidebar --> <nav aria-label="Main menu" class="a8c-docs-layout__sidebar__desktop"> <h2 class="a8c-docs-sidebar-list__heading">Guidebooks</h2><ul class="a8c-docs-sidebar-list"><li class="page_item page-item-21160 page_item_has_children"><a href="https://docs.wpvip.com/guidebooks/get-started/">Get started</a> <button aria-expanded="false" aria-label="Submenu for Get started" class="a8c-docs-sidebar-list__toggle"></button><ul class='children'><li class="page_item page-item-22416"><a href="https://docs.wpvip.com/guidebooks/get-started/basics/">The basics</a></li><li class="page_item page-item-21162"><a href="https://docs.wpvip.com/guidebooks/get-started/infrastructure-overview/">Infrastructure overview</a></li><li class="page_item page-item-21164"><a href="https://docs.wpvip.com/guidebooks/get-started/user-accounts-and-access/">User accounts and access</a></li><li class="page_item page-item-21166"><a href="https://docs.wpvip.com/guidebooks/get-started/adding-plugins-and-themes/">Adding plugins and themes</a></li><li class="page_item page-item-21168"><a href="https://docs.wpvip.com/guidebooks/get-started/getting-help/">Getting help</a></li></ul></li><li class="page_item page-item-21170 page_item_has_children current_page_ancestor current_page_parent"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/">Develop on WordPress VIP</a> <button aria-expanded="true" aria-label="Submenu for Develop on WordPress VIP" class="a8c-docs-sidebar-list__toggle"></button><ul class='children'><li class="page_item page-item-21172"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/user-accounts/">User accounts and access</a></li><li class="page_item page-item-21174"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/applications-and-environments/">Applications and their environments</a></li><li class="page_item page-item-21176 current_page_item"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/wpvip-infrastructure/" aria-current="page">Infrastructure</a></li><li class="page_item page-item-21178"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/wordpress-apps/">Developing for WordPress applications</a></li><li class="page_item page-item-21180"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/node-js-apps/">Developing for Node.js applications</a></li><li class="page_item page-item-21182"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/local-and-cloud/">Local and cloud development</a></li><li class="page_item page-item-21184"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/branches-and-deployments/">GitHub branches and code deployments</a></li><li class="page_item page-item-21186"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/logs-and-monitoring/">Logs and performance monitoring</a></li><li class="page_item page-item-21188"><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/get-help/">Getting help</a></li></ul></li><li class="page_item page-item-21190 page_item_has_children"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/">Prepare for a site launch</a> <button aria-expanded="false" aria-label="Submenu for Prepare for a site launch" class="a8c-docs-sidebar-list__toggle"></button><ul class='children'><li class="page_item page-item-21192"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/accounts-and-access/">Prepare user accounts and site access</a></li><li class="page_item page-item-21194"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/the-domain/">Prepare the domain</a></li><li class="page_item page-item-21196"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/migrate-content/">Migrate site content</a></li><li class="page_item page-item-21198"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/test-your-site/">Test your site</a></li><li class="page_item page-item-21200"><a href="https://docs.wpvip.com/guidebooks/prepare-for-launch/launch-your-site/">Launch your site</a></li></ul></li></ul><br /><h2 class="a8c-docs-sidebar-list__heading">All Categories</h2><ul class="a8c-docs-sidebar-list"><li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17100"><a href="https://docs.wpvip.com/access-and-routing/">Access & routing</a> <button aria-expanded="false" aria-label="Submenu for Access & routing" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17137"><a href="https://docs.wpvip.com/access-and-routing/access-controlled-files/">Access-Controlled Files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16979"><a href="https://docs.wpvip.com/access-and-routing/basic-authentication/">Basic Authentication</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16990"><a href="https://docs.wpvip.com/access-and-routing/block-requests/">Block unwanted requests to a site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17008"><a href="https://docs.wpvip.com/access-and-routing/enable-hsts/">HTTP Strict-Transport-Security (HSTS)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16980"><a href="https://docs.wpvip.com/access-and-routing/ip-allow-list/">IP Allow List</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19075"><a href="https://docs.wpvip.com/access-and-routing/maintenance-mode/">Maintenance Mode plugin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17119"><a href="https://docs.wpvip.com/access-and-routing/partial-restriction-site-access/">Partial restriction of site access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16993"><a href="https://docs.wpvip.com/access-and-routing/robots-txt/">robots.txt</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-9154"><a href="https://docs.wpvip.com/caching/">Caching</a> <button aria-expanded="false" aria-label="Submenu for Caching" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-9839"><a href="https://docs.wpvip.com/caching/object-cache/">Object cache</a> <button aria-expanded="false" aria-label="Submenu for Object cache" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16433"><a href="https://docs.wpvip.com/caching/object-cache/flush-the-object-cache/">Flush the object cache</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-9835"><a href="https://docs.wpvip.com/caching/page-cache/">Page cache</a> <button aria-expanded="false" aria-label="Submenu for Page cache" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9840"><a href="https://docs.wpvip.com/caching/page-cache/cache-api/">Customize page cache behavior</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-14030"><a href="https://docs.wpvip.com/caching/page-cache/query-parameter-caching/">Caching of query parameters</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9841"><a href="https://docs.wpvip.com/caching/page-cache/cookies/">Cookies</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9842"><a href="https://docs.wpvip.com/caching/page-cache/stale-responses/">Stale responses</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17332"><a href="https://docs.wpvip.com/caching/page-cache/modify-max-age/">Cache-control headers</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-9833"><a href="https://docs.wpvip.com/caching/page-cache/purge-urls/">Purge a URL from the page cache</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9834"><a href="https://docs.wpvip.com/caching/page-cache/the-vip-cache-personalization-api/">The VIP Cache Personalization API</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9837"><a href="https://docs.wpvip.com/caching/query-cache/">Query cache</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-16037"><a href="https://docs.wpvip.com/caching/static-asset-caching/">Static asset caching</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9838"><a href="https://docs.wpvip.com/caching/uncached-functions/">Uncached functions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-9832"><a href="https://docs.wpvip.com/caching/disable-term-cache-priming/">Disable WordPress Core’s term cache priming</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17990"><a href="https://docs.wpvip.com/code-deployment/">Code deployment</a> <button aria-expanded="false" aria-label="Submenu for Code deployment" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-21409"><a href="https://docs.wpvip.com/code-deployment/custom-deployment/">Custom Deployment</a> <button aria-expanded="false" aria-label="Submenu for Custom Deployment" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22113"><a href="https://docs.wpvip.com/code-deployment/custom-deployment/continuous-deployment/">Custom Deployment with continuous deployment</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-21410"><a href="https://docs.wpvip.com/code-deployment/default-deployment/">Default Deployment</a> <button aria-expanded="false" aria-label="Submenu for Default Deployment" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-18736"><a href="https://docs.wpvip.com/code-deployment/default-deployment/build-and-deploy/">Build and deploy</a> <button aria-expanded="false" aria-label="Submenu for Build and deploy" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17080"><a href="https://docs.wpvip.com/code-deployment/default-deployment/build-and-deploy/ci-cd/">Continuous integration and deployment (CI/CD)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16931"><a href="https://docs.wpvip.com/code-deployment/default-deployment/build-and-deploy/configure-builds-on-circleci/">Configure builds on CircleCI</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18738"><a href="https://docs.wpvip.com/code-deployment/default-deployment/build-and-deploy/built-files-without-ci/">Deploying built files without a CI service</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17991"><a href="https://docs.wpvip.com/code-deployment/default-deployment/deploying-branches/">Deploying branches</a> <button aria-expanded="false" aria-label="Submenu for Deploying branches" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16959"><a href="https://docs.wpvip.com/code-deployment/default-deployment/deploying-branches/update/">Update an environment’s deploying branch</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17073"><a href="https://docs.wpvip.com/code-deployment/github-repository/">GitHub repository</a> <button aria-expanded="false" aria-label="Submenu for GitHub repository" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16928"><a href="https://docs.wpvip.com/code-deployment/github-repository/required-status-checks/">Enable required status checks for pull requests</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16929"><a href="https://docs.wpvip.com/code-deployment/github-repository/composer/">Using Composer on VIP</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17079"><a href="https://docs.wpvip.com/code-deployment/default-deployment/developing-from-another-repository/">Develop code in a non-wpcomvip repository</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21403"><a href="https://docs.wpvip.com/code-deployment/cache-clearing/">Code deployment and cache clearing</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17087"><a href="https://docs.wpvip.com/code-deployment/default-deployment/deploying-branches/deployments-panel/">Deployments log in the VIP Dashboard</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18716"><a href="https://docs.wpvip.com/code-deployment/duration-of-time/">Duration of time for a deployment to complete</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17998"><a href="https://docs.wpvip.com/code-deployment/rollbacks/">Rollbacks in the VIP Dashboard</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17061"><a href="https://docs.wpvip.com/codebase-manager/">Codebase Manager</a> <button aria-expanded="false" aria-label="Submenu for Codebase Manager" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17069"><a href="https://docs.wpvip.com/codebase-manager/plugins-panel/">VIP Dashboard Plugins panel</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17072"><a href="https://docs.wpvip.com/codebase-manager/vulnerability-and-update-scan/">Vulnerability and Update Scan by the VIP Code Analysis Bot</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17063"><a href="https://docs.wpvip.com/databases/">Databases</a> <button aria-expanded="false" aria-label="Submenu for Databases" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22203"><a href="https://docs.wpvip.com/databases/access/">Database access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17059"><a href="https://docs.wpvip.com/databases/backups/">Database Backups</a> <button aria-expanded="false" aria-label="Submenu for Database Backups" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17518"><a href="https://docs.wpvip.com/databases/backups/limitations/">Limitations</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17532"><a href="https://docs.wpvip.com/databases/backups/access/">Access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17538"><a href="https://docs.wpvip.com/databases/backups/download-a-full-database-backup/">Download a full database backup</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17546"><a href="https://docs.wpvip.com/databases/backups/download-a-partial-database-backup/">Download a partial database backup</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17551"><a href="https://docs.wpvip.com/databases/backups/download-a-database-backup-for-a-network-site/">Download a database backup for a network site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17556"><a href="https://docs.wpvip.com/databases/backups/generate-a-fresh-database-backup/">Generate a new database backup</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17562"><a href="https://docs.wpvip.com/databases/backups/database-backup-link/">Copy a link to a prepared database backup</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16935"><a href="https://docs.wpvip.com/databases/backups/database-backup-shipping/">Database Backup Shipping</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17060"><a href="https://docs.wpvip.com/databases/data-sync/">Data sync from production to non-production environments</a> <button aria-expanded="false" aria-label="Submenu for Data sync from production to non-production environments" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17058"><a href="https://docs.wpvip.com/databases/data-sync/config-file/">Data sync config file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20781"><a href="https://docs.wpvip.com/databases/data-sync/cleanup-operations/">Cleanup operations for data syncing</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16923"><a href="https://docs.wpvip.com/databases/import/">Import database files</a> <button aria-expanded="false" aria-label="Submenu for Import database files" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17580"><a href="https://docs.wpvip.com/databases/import/import-with-vip-cli/">Import database files with VIP-CLI</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16925"><a href="https://docs.wpvip.com/databases/import/validate-sql-file/">Validate a SQL database file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17591"><a href="https://docs.wpvip.com/databases/import/check-the-status/">Check the status of an import</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17579"><a href="https://docs.wpvip.com/databases/import/updating-values/">Update domain name values</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17587"><a href="https://docs.wpvip.com/databases/import/multisite-database-imports/">Database imports for multisite environments</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17600"><a href="https://docs.wpvip.com/databases/import/export-a-file-for-migration/">Export a SQL file from a site not hosted at WordPress VIP</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17030"><a href="https://docs.wpvip.com/databases/optimize-queries/">Optimize database queries</a> <button aria-expanded="false" aria-label="Submenu for Optimize database queries" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17042"><a href="https://docs.wpvip.com/databases/optimize-queries/using-post__not_in/">Avoid post__not_in</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17046"><a href="https://docs.wpvip.com/databases/optimize-queries/database-queries/">Best practices for database queries</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18513"><a href="https://docs.wpvip.com/databases/optimize-queries/defining-post_status-or-post_type/">Defining post_status or post_type</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17043"><a href="https://docs.wpvip.com/databases/optimize-queries/encode-values-passed-to-add_query_arg/">Encode values passed to `add_query_arg`</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16914"><a href="https://docs.wpvip.com/databases/optimize-queries/filtering-wp_unique_post_slug/">Fix performance issues by filtering wp_unique_post_slug</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22314"><a href="https://docs.wpvip.com/databases/optimize-queries/identify-slow-queries/">Identify slow queries</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17045"><a href="https://docs.wpvip.com/databases/optimize-queries/querying-on-meta_value/">Meta queries</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16915"><a href="https://docs.wpvip.com/databases/optimize-queries/optimize-core-queries-at-scale/">Optimize core queries at scale</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17047"><a href="https://docs.wpvip.com/databases/optimize-queries/retrieving-remote-data/">Retrieving remote data</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17044"><a href="https://docs.wpvip.com/databases/optimize-queries/term-queries-should-consider-include_children-false/">Taxonomy queries should set `include_children` to false</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17066"><a href="https://docs.wpvip.com/databases/supported-collations-charsets/">Supported character sets and collations</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17032"><a href="https://docs.wpvip.com/development-workflow/">Developing on WordPress VIP</a> <button aria-expanded="false" aria-label="Submenu for Developing on WordPress VIP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17057"><a href="https://docs.wpvip.com/development-workflow/github-pr-reviews/">GitHub pull request flow</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17031"><a href="https://docs.wpvip.com/development-workflow/code-review/">Code review</a> <button aria-expanded="false" aria-label="Submenu for Code review" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17049"><a href="https://docs.wpvip.com/development-workflow/code-review/review-recommendations/">Reduce review times</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17048"><a href="https://docs.wpvip.com/development-workflow/code-review/reduce-pull-request-size/">Reduce the size of a pull request</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16919"><a href="https://docs.wpvip.com/development-workflow/create-good-changesets/">Create good changesets</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16920"><a href="https://docs.wpvip.com/development-workflow/write-a-good-commit-message/">Elements of a good commit message</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17007"><a href="https://docs.wpvip.com/development-workflow/contribute-to-wordpress/">Contribute to WordPress Core</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17075"><a href="https://docs.wpvip.com/domains/">Domains</a> <button aria-expanded="false" aria-label="Submenu for Domains" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16934"><a href="https://docs.wpvip.com/domains/map-a-domain/">Add a domain</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16933"><a href="https://docs.wpvip.com/domains/check-dns-record-time-to-live/">Check DNS record time to live (TTL)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17085"><a href="https://docs.wpvip.com/domains/convenience-domains/">Convenience domain</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21763"><a href="https://docs.wpvip.com/domains/default-behavior/">Default behavior of domains</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-22793"><a href="https://docs.wpvip.com/domains/dns-records-for-email/">DNS records to send email from a custom domain</a> <button aria-expanded="false" aria-label="Submenu for DNS records to send email from a custom domain" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22792"><a href="https://docs.wpvip.com/domains/dns-records-for-email/check-status/">Check the status of DNS records for email</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17082"><a href="https://docs.wpvip.com/domains/fqdn/">Fully qualified domain names (FQDN)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17084"><a href="https://docs.wpvip.com/domains/managing-your-hosts-file/">Modify a hosts file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16932"><a href="https://docs.wpvip.com/domains/point-dns-to-vip/">Point DNS for a domain to WPVIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-16960"><a href="https://docs.wpvip.com/domains/primary-domain/">Primary domain</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19974"><a href="https://docs.wpvip.com/domains/verification/">Verify a domain</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17105"><a href="https://docs.wpvip.com/domains/multiple-domains/">Configure multiple domains to resolve to the same network site</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17093"><a href="https://docs.wpvip.com/enterprise-search/">Enterprise Search</a> <button aria-expanded="false" aria-label="Submenu for Enterprise Search" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21944"><a href="https://docs.wpvip.com/enterprise-search/es-limitations/">Limitations of Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16953"><a href="https://docs.wpvip.com/enterprise-search/enable/">Enable Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16948"><a href="https://docs.wpvip.com/enterprise-search/index/">Index with Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16942"><a href="https://docs.wpvip.com/enterprise-search/version/">Version with Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16945"><a href="https://docs.wpvip.com/enterprise-search/multisite/">Enterprise Search on multisite</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16940"><a href="https://docs.wpvip.com/enterprise-search/check-index-health/">Check the index health</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16939"><a href="https://docs.wpvip.com/enterprise-search/indexing/">Choose what to index</a> <button aria-expanded="false" aria-label="Submenu for Choose what to index" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16952"><a href="https://docs.wpvip.com/enterprise-search/indexing/post-types/">Indexing post types</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16938"><a href="https://docs.wpvip.com/enterprise-search/indexing/post-statuses/">Indexing post statuses</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16951"><a href="https://docs.wpvip.com/enterprise-search/indexing/post-taxonomies/">Indexing post taxonomies</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16950"><a href="https://docs.wpvip.com/enterprise-search/indexing/post-meta/">Indexing post meta</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16963"><a href="https://docs.wpvip.com/enterprise-search/indexing/user-meta/">Indexing user meta</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16949"><a href="https://docs.wpvip.com/enterprise-search/enable-features/">Enable Enterprise Search features</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16946"><a href="https://docs.wpvip.com/enterprise-search/enable-non-search-queries/">Offload any WP_Query to Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16937"><a href="https://docs.wpvip.com/enterprise-search/enable-for-wp-admin/">Enable Enterprise Search for the WordPress Admin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16941"><a href="https://docs.wpvip.com/enterprise-search/search-tokenization/">Search tokenization</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16947"><a href="https://docs.wpvip.com/enterprise-search/rate-limiting/">Rate limiting in Enterprise Search</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16944"><a href="https://docs.wpvip.com/enterprise-search/customize-search-results/">Customize search results</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16943"><a href="https://docs.wpvip.com/enterprise-search/dev-tools/">Debug with Enterprise Search Dev Tools</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17077"><a href="https://docs.wpvip.com/infrastructure/">Infrastructure</a> <button aria-expanded="false" aria-label="Submenu for Infrastructure" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17090"><a href="https://docs.wpvip.com/infrastructure/environments/">Environments</a> <button aria-expanded="false" aria-label="Submenu for Environments" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17094"><a href="https://docs.wpvip.com/infrastructure/environments/software-management/">Software Versions management</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16958"><a href="https://docs.wpvip.com/infrastructure/environments/manage-environment-variables/">Manage environment variables</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16927"><a href="https://docs.wpvip.com/infrastructure/environments/environment-specific-code/">Write environment-specific code</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18130"><a href="https://docs.wpvip.com/infrastructure/environments/indicator-labels/">Environment indicator labels</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-16974"><a href="https://docs.wpvip.com/infrastructure/origin-servers/">Origin servers</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17078"><a href="https://docs.wpvip.com/infrastructure/edge-cache/">Edge cache servers</a> <button aria-expanded="false" aria-label="Submenu for Edge cache servers" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20867"><a href="https://docs.wpvip.com/infrastructure/edge-cache/file-compression/">Edge cache file compression</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20866"><a href="https://docs.wpvip.com/infrastructure/edge-cache/global-locations/">Global locations of edge cache servers</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23052"><a href="https://docs.wpvip.com/infrastructure/edge-cache/target-a-location/">Target a specific edge server location</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17095"><a href="https://docs.wpvip.com/infrastructure/ip-geolocation/">IP geolocation</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17091"><a href="https://docs.wpvip.com/infrastructure/ip-ranges/">IP ranges</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16956"><a href="https://docs.wpvip.com/infrastructure/http-headers/">HTTP response headers</a> <button aria-expanded="false" aria-label="Submenu for HTTP response headers" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23059"><a href="https://docs.wpvip.com/infrastructure/http-headers/add-edit-or-remove/">Add, edit, or remove HTTP response headers</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-23054"><a href="https://docs.wpvip.com/infrastructure/http-headers/added-by-wpvip/">HTTP response headers added by WPVIP</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17096"><a href="https://docs.wpvip.com/infrastructure/vip-user-agents/">VIP User-Agents</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16957"><a href="https://docs.wpvip.com/infrastructure/retire-a-site/">Retire a site from VIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17092"><a href="https://docs.wpvip.com/infrastructure/disaster-recovery/">Disaster recovery</a> <button aria-expanded="false" aria-label="Submenu for Disaster recovery" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22339"><a href="https://docs.wpvip.com/infrastructure/disaster-recovery/geographical-redundancy/">Geographical Redundancy for disaster recovery</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16926"><a href="https://docs.wpvip.com/launch-a-site/">Launch a site</a> <button aria-expanded="false" aria-label="Submenu for Launch a site" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16954"><a href="https://docs.wpvip.com/launch-a-site/begin-a-single-site-launch/">Begin a single site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16969"><a href="https://docs.wpvip.com/launch-a-site/begin-a-multisite-launch/">Begin a network site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16989"><a href="https://docs.wpvip.com/launch-a-site/node-js-launch/">Begin a Node.js site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16968"><a href="https://docs.wpvip.com/launch-a-site/complete-a-site-launch/">Complete a site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16967"><a href="https://docs.wpvip.com/launch-a-site/launch-troubleshooting/">Troubleshoot a WordPress site launch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16970"><a href="https://docs.wpvip.com/launch-a-site/testing-your-site/">Test a WordPress site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20239"><a href="https://docs.wpvip.com/launch-a-site/launched/">Launched</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20240"><a href="https://docs.wpvip.com/launch-a-site/unlaunched/">Unlaunched</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17103"><a href="https://docs.wpvip.com/launch-a-site/order-of-launch/">Order of launching sites on a multisite</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16966"><a href="https://docs.wpvip.com/launch-a-site/manual-launch/">Manually launch a site on a multisite</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18214"><a href="https://docs.wpvip.com/launch-a-site/redesign/">Launches for site redesigns</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16964"><a href="https://docs.wpvip.com/local-development/">Local and cloud development</a> <button aria-expanded="false" aria-label="Submenu for Local and cloud development" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16971"><a href="https://docs.wpvip.com/local-development/add-site-content/">Add VIP production site content for local development</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-19611"><a href="https://docs.wpvip.com/local-development/github-codespaces/">Developing with GitHub Codespaces</a> <button aria-expanded="false" aria-label="Submenu for Developing with GitHub Codespaces" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20541"><a href="https://docs.wpvip.com/local-development/github-codespaces/access-logs/">Access logs for GitHub Codespaces</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20510"><a href="https://docs.wpvip.com/local-development/github-codespaces/customize-config-file/">Customize the Codespaces configuration file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20504"><a href="https://docs.wpvip.com/local-development/github-codespaces/import-database/">Import a SQL database file to Codespaces</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20545"><a href="https://docs.wpvip.com/local-development/github-codespaces/codespaces-database-sync/">Sync a platform database to Codespaces</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16972"><a href="https://docs.wpvip.com/local-development/set-up-vvv/">Set up VVV for VIP development</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16988"><a href="https://docs.wpvip.com/local-development/third-party-app/">Set up a third-party local development app</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17883"><a href="https://docs.wpvip.com/logs/">Logs</a> <button aria-expanded="false" aria-label="Submenu for Logs" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17161"><a href="https://docs.wpvip.com/logs/audit-log/">Audit Log</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17088"><a href="https://docs.wpvip.com/logs/log-shipping/">HTTP request Log Shipping</a> <button aria-expanded="false" aria-label="Submenu for HTTP request Log Shipping" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20297"><a href="https://docs.wpvip.com/logs/log-shipping/aws-s3-bucket-requirements/">AWS S3 bucket requirements</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16975"><a href="https://docs.wpvip.com/logs/log-shipping/enable/">Enable HTTP request Log Shipping</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19809"><a href="https://docs.wpvip.com/logs/log-shipping/log-contents/">Contents of HTTP request logs</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16955"><a href="https://docs.wpvip.com/logs/log-shipping/analyze-with-goaccess/">Analyze HTTP request logs with GoAccess</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17187"><a href="https://docs.wpvip.com/logs/runtime-logs/">Runtime Logs </a> <button aria-expanded="false" aria-label="Submenu for Runtime Logs " class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17158"><a href="https://docs.wpvip.com/logs/runtime-logs/dashboard/">Runtime Logs in the VIP Dashboard</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17001"><a href="https://docs.wpvip.com/logs/runtime-logs/cli/">Retrieve Runtime Logs with VIP-CLI</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17083"><a href="https://docs.wpvip.com/logs/slow-query/">Slow Query Logs</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17195"><a href="https://docs.wpvip.com/logs/wp-cli-commands/">WP-CLI Commands log</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16983"><a href="https://docs.wpvip.com/manage-user-access/">Manage user access</a> <button aria-expanded="false" aria-label="Submenu for Manage user access" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17123"><a href="https://docs.wpvip.com/manage-user-access/github/">GitHub user access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17147"><a href="https://docs.wpvip.com/manage-user-access/new-relic/">New Relic user access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17146"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/">VIP Dashboard access</a> <button aria-expanded="false" aria-label="Submenu for VIP Dashboard access" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17102"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/org-roles/">Org roles and permissions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17128"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/app-role/">App role and permissions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16985"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/invite-new-users/">Invite new users</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16986"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/edit-user-roles/">Edit user roles</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18569"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/copy-user-roles/">Copy user roles</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16987"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/remove-user/">Remove a user</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-18499"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/sso/">Single Sign-On</a> <button aria-expanded="false" aria-label="Submenu for Single Sign-On" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18498"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/sso/configurations/">Configurations</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18497"><a href="https://docs.wpvip.com/manage-user-access/vip-dashboard/sso/enforce-sso/">Enforce SSO</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17125"><a href="https://docs.wpvip.com/manage-user-access/wordpress/">WordPress user access</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17124"><a href="https://docs.wpvip.com/manage-user-access/zendesk/">Zendesk user access</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17098"><a href="https://docs.wpvip.com/node-js/">Node.js on WPVIP</a> <button aria-expanded="false" aria-label="Submenu for Node.js on WPVIP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17145"><a href="https://docs.wpvip.com/node-js/application-requirements/">Node.js application requirements</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17122"><a href="https://docs.wpvip.com/node-js/health-checks/">Health checks</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16981"><a href="https://docs.wpvip.com/node-js/manage-dependencies/">Manage dependencies in Node.js</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17120"><a href="https://docs.wpvip.com/node-js/building-applications/">Building Node.js applications</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16984"><a href="https://docs.wpvip.com/node-js/debug/">Debug a Node.js application</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17127"><a href="https://docs.wpvip.com/node-js/deployment-validation/">Deployment validation for Node.js applications</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17108"><a href="https://docs.wpvip.com/node-js/integrating-redis/">Integrating Redis</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17109"><a href="https://docs.wpvip.com/node-js/managing-node-js-versions/">Managing Node.js versions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17107"><a href="https://docs.wpvip.com/node-js/environment-variables/">Node.js environment variables</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16977"><a href="https://docs.wpvip.com/node-js/serve-static-content/">Serve static content</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17121"><a href="https://docs.wpvip.com/node-js/websockets/">WebSockets</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17289"><a href="https://docs.wpvip.com/notifications/">Notifications</a> <button aria-expanded="false" aria-label="Submenu for Notifications" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17293"><a href="https://docs.wpvip.com/notifications/destinations/">Destinations</a> <button aria-expanded="false" aria-label="Submenu for Destinations" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17290"><a href="https://docs.wpvip.com/notifications/destinations/webhook-urls/">General-purpose webhook URLs</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21636"><a href="https://docs.wpvip.com/notifications/important-alerts/">Important Alerts</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22277"><a href="https://docs.wpvip.com/notifications/event-types/">Notification event types</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17292"><a href="https://docs.wpvip.com/notifications/organization-notifications/">Notifications for an organization</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17291"><a href="https://docs.wpvip.com/notifications/application-notifications/">Notifications for an application</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17111"><a href="https://docs.wpvip.com/parse-ly/">Parse.ly</a> <button aria-expanded="false" aria-label="Submenu for Parse.ly" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20451"><a href="https://docs.wpvip.com/parse-ly/wp-parsely/">wp-parsely plugin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16992"><a href="https://docs.wpvip.com/parse-ly/enabling-and-disabling/">Enabling and disabling wp-parsely</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-20450"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/">wp-parsely features</a> <button aria-expanded="false" aria-label="Submenu for wp-parsely features" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20449"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/content-helper/">Content Helper</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20448"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/title-suggestions/">Title Suggestions (Beta)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20447"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/excerpt-suggestions/">Excerpt Suggestions (Beta)</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20446"><a href="https://docs.wpvip.com/parse-ly/wp-parsely-features/smart-linking/">Smart Linking (Beta)</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17144"><a href="https://docs.wpvip.com/parse-ly/configuration/">Configuration</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17143"><a href="https://docs.wpvip.com/parse-ly/consent-management/">Consent management and Parse.ly</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17884"><a href="https://docs.wpvip.com/performance/">Performance</a> <button aria-expanded="false" aria-label="Submenu for Performance" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16916"><a href="https://docs.wpvip.com/performance/analyze-server-performance/">Analyze a site’s server performance</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19262"><a href="https://docs.wpvip.com/performance/analyze-requests-and-application-code/">Analyze requests and application code for performance</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-18819"><a href="https://docs.wpvip.com/performance/insights-metrics/">Insights & Metrics</a> <button aria-expanded="false" aria-label="Submenu for Insights & Metrics" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20685"><a href="https://docs.wpvip.com/performance/insights-metrics/http-metrics/">HTTP metrics</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20686"><a href="https://docs.wpvip.com/performance/insights-metrics/resource-metrics/">Resource Usage metrics</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20687"><a href="https://docs.wpvip.com/performance/insights-metrics/database-metrics/">Database metrics</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20688"><a href="https://docs.wpvip.com/performance/insights-metrics/cache-metrics/">Cache metrics</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22278"><a href="https://docs.wpvip.com/performance/insights-metrics/anomalies/">Performance metrics anomalies</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18260"><a href="https://docs.wpvip.com/performance/load-testing/">Load testing</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17055"><a href="https://docs.wpvip.com/performance/new-relic/">New Relic</a> <button aria-expanded="false" aria-label="Submenu for New Relic" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17065"><a href="https://docs.wpvip.com/performance/new-relic/for-node-js/">New Relic for Node.js</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17064"><a href="https://docs.wpvip.com/performance/new-relic/for-wordpress/">New Relic for WordPress</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16922"><a href="https://docs.wpvip.com/performance/new-relic/manually-log-errors/">Manually log errors in New Relic</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17068"><a href="https://docs.wpvip.com/performance/query-monitor/">Query Monitor</a> <button aria-expanded="false" aria-label="Submenu for Query Monitor" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16921"><a href="https://docs.wpvip.com/performance/query-monitor/enable/">Enable Query Monitor</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19263"><a href="https://docs.wpvip.com/performance/identify-performance-issues/">Resources for identifying performance issues</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16965"><a href="https://docs.wpvip.com/php_codesniffer/">PHPCS</a> <button aria-expanded="false" aria-label="Submenu for PHPCS" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17629"><a href="https://docs.wpvip.com/php_codesniffer/install-globally/">Install PHPCS globally</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17628"><a href="https://docs.wpvip.com/php_codesniffer/install-at-project-level/">Install PHPCS at the project level</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17630"><a href="https://docs.wpvip.com/php_codesniffer/run-against-code/">Run PHPCS against code</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17101"><a href="https://docs.wpvip.com/php_codesniffer/phpcs-report/">Interpreting a PHPCS report</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17053"><a href="https://docs.wpvip.com/php_codesniffer/errors/">PHPCS errors</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17052"><a href="https://docs.wpvip.com/php_codesniffer/warnings/">PHPCS warnings</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-18961"><a href="https://docs.wpvip.com/plugins/">Plugins</a> <button aria-expanded="false" aria-label="Submenu for Plugins" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9962"><a href="https://docs.wpvip.com/plugins/installing-plugins/">Add a plugin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-9951"><a href="https://docs.wpvip.com/plugins/activate-plugins-through-code/">Activate a plugin through code</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9960"><a href="https://docs.wpvip.com/plugins/version-updates-and-maintenance/">Version updates for third-party plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9958"><a href="https://docs.wpvip.com/plugins/third-party-plugins/">Evaluate third-party plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9949"><a href="https://docs.wpvip.com/plugins/incompatibilities/">Plugin incompatibilities</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9961"><a href="https://docs.wpvip.com/plugins/load-order/">Load order of plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-14891"><a href="https://docs.wpvip.com/plugins/automattic-plugins/">Automattic plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9959"><a href="https://docs.wpvip.com/plugins/technology-partner-plugins/">Technology Partner plugins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17512"><a href="https://docs.wpvip.com/plugins/helper-file/">Plugin helper file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17177"><a href="https://docs.wpvip.com/plugins/woocommerce/">WooCommerce</a> <button aria-expanded="false" aria-label="Submenu for WooCommerce" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17024"><a href="https://docs.wpvip.com/plugins/woocommerce/upgrade-woocommerce/">Upgrade WooCommerce on VIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17206"><a href="https://docs.wpvip.com/plugins/woocommerce/caching-for-woocommerce/">Caching for WooCommerce</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17205"><a href="https://docs.wpvip.com/plugins/woocommerce/customizing-woocommerce/">Customizing WooCommerce</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17025"><a href="https://docs.wpvip.com/plugins/woocommerce/woocommerce-debug-logging/">Enable WooCommerce Debug Logging</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17026"><a href="https://docs.wpvip.com/plugins/woocommerce/troubleshoot-woocommerce/">Troubleshoot WooCommerce</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17099"><a href="https://docs.wpvip.com/redirects/">Redirects</a> <button aria-expanded="false" aria-label="Submenu for Redirects" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21937"><a href="https://docs.wpvip.com/redirects/limitations-for-files/">Limitations on redirects for files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17117"><a href="https://docs.wpvip.com/redirects/domain-redirects-in-vip-config-php/">Redirects in vip-config.php</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17118"><a href="https://docs.wpvip.com/redirects/redirects-in-theme-code/">Writing redirects directly into a site’s theme code</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17138"><a href="https://docs.wpvip.com/reverse-proxy/">Reverse proxy</a> <button aria-expanded="false" aria-label="Submenu for Reverse proxy" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16991"><a href="https://docs.wpvip.com/reverse-proxy/configure/">Configure a reverse proxy</a> <button aria-expanded="false" aria-label="Submenu for Configure a reverse proxy" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19122"><a href="https://docs.wpvip.com/reverse-proxy/configure/request-header-verification/">Log True-Client-IP and add a proxy verification method</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19121"><a href="https://docs.wpvip.com/reverse-proxy/configure/ip-allow-list-verification/">Log True-Client-IP with an IP allow list</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17004"><a href="https://docs.wpvip.com/reverse-proxy/test/">Test a proxy configuration</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17005"><a href="https://docs.wpvip.com/reverse-proxy/domains-and-tls/">Configure domains and TLS for a reverse proxy</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17131"><a href="https://docs.wpvip.com/security/">Security</a> <button aria-expanded="false" aria-label="Submenu for Security" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17173"><a href="https://docs.wpvip.com/security/for-wordpress/">WordPress security on VIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17149"><a href="https://docs.wpvip.com/security/user-recommendations/">Security recommendations for all users</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17140"><a href="https://docs.wpvip.com/security/wordpress-sso/">Single Sign-On (SSO) for WordPress</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17139"><a href="https://docs.wpvip.com/security/two-factor-authentication/">Two-factor authentication for WordPress</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17871"><a href="https://docs.wpvip.com/security/penetration-testing/">Penetration testing</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22572"><a href="https://docs.wpvip.com/security/phishing/">Phishing</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17150"><a href="https://docs.wpvip.com/security/javascript-security-recommendations/">JavaScript security recommendations</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17148"><a href="https://docs.wpvip.com/security/validating-sanitizing-and-escaping/">Validating, sanitizing, and escaping</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17136"><a href="https://docs.wpvip.com/tls/">TLS</a> <button aria-expanded="false" aria-label="Submenu for TLS" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16994"><a href="https://docs.wpvip.com/tls/lets-encrypt/">Install a Let’s Encrypt TLS certificate</a> <button aria-expanded="false" aria-label="Submenu for Install a Let’s Encrypt TLS certificate" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18632"><a href="https://docs.wpvip.com/tls/lets-encrypt/re-install/">Re-install a Let’s Encrypt certificate</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18627"><a href="https://docs.wpvip.com/tls/lets-encrypt/switch-to-custom-certificate/">Switch from a Let’s Encrypt certificate to a custom TLS certificate</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-16995"><a href="https://docs.wpvip.com/tls/custom-cert/">Install a custom TLS certificate</a> <button aria-expanded="false" aria-label="Submenu for Install a custom TLS certificate" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18057"><a href="https://docs.wpvip.com/tls/custom-cert/requirements/">Requirements</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18056"><a href="https://docs.wpvip.com/tls/custom-cert/custom-tls-vip-csr/">Custom TLS certificates with a VIP CSR</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18055"><a href="https://docs.wpvip.com/tls/custom-cert/custom-tls-non-vip-csr/">Custom TLS certificates with a non-VIP CSR</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18643"><a href="https://docs.wpvip.com/tls/custom-cert/renew/">Renew a custom TLS certificate</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-18054"><a href="https://docs.wpvip.com/tls/custom-cert/switch-to-lets-encrypt/">Switch from a custom TLS certificate to a Let’s Encrypt certificate</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17132"><a href="https://docs.wpvip.com/vip-code-analysis-bot/">VIP Code Analysis Bot</a> <button aria-expanded="false" aria-label="Submenu for VIP Code Analysis Bot" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17155"><a href="https://docs.wpvip.com/vip-code-analysis-bot/default-behavior/">Default behavior of the Bot</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17153"><a href="https://docs.wpvip.com/vip-code-analysis-bot/feedback/">Bot feedback and messages</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17151"><a href="https://docs.wpvip.com/vip-code-analysis-bot/auto-approvals/">Auto approvals</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17157"><a href="https://docs.wpvip.com/vip-code-analysis-bot/phpcs-analysis/">PHPCS analysis</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16997"><a href="https://docs.wpvip.com/vip-code-analysis-bot/customize-phpcs/">Customize PHPCS scanning</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17156"><a href="https://docs.wpvip.com/vip-code-analysis-bot/svg-analysis/">SVG analysis</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17154"><a href="https://docs.wpvip.com/vip-code-analysis-bot/php-linting/">PHP linting</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17152"><a href="https://docs.wpvip.com/vip-code-analysis-bot/build-status/">GitHub build status</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16996"><a href="https://docs.wpvip.com/vip-code-analysis-bot/customize-the-bot/">Customize the VIP Code Analysis Bot</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17133"><a href="https://docs.wpvip.com/vip-dashboard/">VIP Dashboard</a> <button aria-expanded="false" aria-label="Submenu for VIP Dashboard" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17159"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/">Log in to the VIP Dashboard</a> <button aria-expanded="false" aria-label="Submenu for Log in to the VIP Dashboard" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19013"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/github-auth/">Sign in with GitHub</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19012"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/sso-auth/">Sign in with SSO</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19014"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/wordpress-com-auth/">Sign in with WordPress.com</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22514"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/vip-auth/">VIP Authentication</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18496"><a href="https://docs.wpvip.com/vip-dashboard/vip-dashboard-log-in/troubleshooting/">Login failure errors</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17303"><a href="https://docs.wpvip.com/vip-dashboard/organization-view/">Organization view</a> <button aria-expanded="false" aria-label="Submenu for Organization view" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20261"><a href="https://docs.wpvip.com/vip-dashboard/organization-view/organization/">Organization</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17162"><a href="https://docs.wpvip.com/vip-dashboard/organization-view/usage/">Usage</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17188"><a href="https://docs.wpvip.com/vip-dashboard/organization-view/people/">People</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17304"><a href="https://docs.wpvip.com/vip-dashboard/application-view/">Application view</a> <button aria-expanded="false" aria-label="Submenu for Application view" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-16976"><a href="https://docs.wpvip.com/vip-dashboard/application-view/application/">Application</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17160"><a href="https://docs.wpvip.com/vip-dashboard/overview/">Overview</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17186"><a href="https://docs.wpvip.com/vip-dashboard/user-settings/">Settings</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17185"><a href="https://docs.wpvip.com/vip-dashboard/my-organizations/">My Organizations</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17134"><a href="https://docs.wpvip.com/vip-file-system/">VIP File System</a> <button aria-expanded="false" aria-label="Submenu for VIP File System" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17002"><a href="https://docs.wpvip.com/vip-file-system/import-media-files/">Import media files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17006"><a href="https://docs.wpvip.com/vip-file-system/media-backups/">Media Backups</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17164"><a href="https://docs.wpvip.com/vip-file-system/supported-file-types/">Supported file types</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17169"><a href="https://docs.wpvip.com/vip-file-system/image-files/">Image file behavior</a> <button aria-expanded="false" aria-label="Submenu for Image file behavior" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19825"><a href="https://docs.wpvip.com/vip-file-system/image-files/image-quality/">Image quality and next-gen formats</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17165"><a href="https://docs.wpvip.com/vip-file-system/image-files/transformations/">Image transformation</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17168"><a href="https://docs.wpvip.com/vip-file-system/image-files/intermediate-images/">Intermediate images</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17167"><a href="https://docs.wpvip.com/vip-file-system/image-files/responsive-images/">Responsive images</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16998"><a href="https://docs.wpvip.com/vip-file-system/image-files/strip-image-metadata/">Strip image metadata on upload</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17945"><a href="https://docs.wpvip.com/vip-file-system/modify-uploads-directory/">Modify the /uploads path structure</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17932"><a href="https://docs.wpvip.com/vip-file-system/versioning-files/">Overwriting and versioning files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17166"><a href="https://docs.wpvip.com/vip-file-system/shared-media-files/">Shared media files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17171"><a href="https://docs.wpvip.com/vip-file-system/media-uploads/">Working with uploaded files</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17170"><a href="https://docs.wpvip.com/vip-file-system/local-file-operations/">Working with the /tmp directory</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17135"><a href="https://docs.wpvip.com/vip-local-development-environment/">VIP Local Development Environment</a> <button aria-expanded="false" aria-label="Submenu for VIP Local Development Environment" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21131"><a href="https://docs.wpvip.com/vip-local-development-environment/limitations/">Limitations</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21130"><a href="https://docs.wpvip.com/vip-local-development-environment/requirements/">Requirements</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-21049"><a href="https://docs.wpvip.com/vip-local-development-environment/stack-services/">Stack services</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17172"><a href="https://docs.wpvip.com/vip-local-development-environment/basic-usage/">Basic usage</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17011"><a href="https://docs.wpvip.com/vip-local-development-environment/dev-env-advanced-usage/">Advanced usage</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17000"><a href="https://docs.wpvip.com/vip-local-development-environment/create/">Create a VIP Local Development Environment</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17009"><a href="https://docs.wpvip.com/vip-local-development-environment/load-application-code/">Update a local environment to load application code</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17003"><a href="https://docs.wpvip.com/vip-local-development-environment/add-database-content/">Sync or import database content to a VIP Local Development Environment</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17010"><a href="https://docs.wpvip.com/vip-local-development-environment/add-media-content/">Add media to a VIP Local Development Environment</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17387"><a href="https://docs.wpvip.com/vip-local-development-environment/enable-https/">Enable HTTPS</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20517"><a href="https://docs.wpvip.com/vip-local-development-environment/environment-variables/">Manage environment variables</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16999"><a href="https://docs.wpvip.com/vip-local-development-environment/use-enterprise-search/">Use Enterprise Search on a VIP Local Development Environment</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17196"><a href="https://docs.wpvip.com/vip-local-development-environment/networking/">Networking</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17207"><a href="https://docs.wpvip.com/vip-local-development-environment/troubleshooting-dev-env/">Troubleshooting</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17191"><a href="https://docs.wpvip.com/vip-go-mu-plugins/">VIP MU plugins</a> <button aria-expanded="false" aria-label="Submenu for VIP MU plugins" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17215"><a href="https://docs.wpvip.com/vip-go-mu-plugins/branches-and-updates/">VIP MU plugins branches and updates</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17216"><a href="https://docs.wpvip.com/vip-go-mu-plugins/block-data-api-plugin/">Block Data API plugin</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17198"><a href="https://docs.wpvip.com/vip-go-mu-plugins/file-concatenation-and-minification/">File concatenation and minification</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18154"><a href="https://docs.wpvip.com/vip-go-mu-plugins/block-governance-plugin/">WordPress VIP Block Governance plugin</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17175"><a href="https://docs.wpvip.com/vip-support/">WPVIP Support</a> <button aria-expanded="false" aria-label="Submenu for WPVIP Support" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22361"><a href="https://docs.wpvip.com/vip-support/information-in-a-ticket/">Information to include in a Support ticket</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17209"><a href="https://docs.wpvip.com/vip-support/site-access/">Site access for WPVIP Support</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17179"><a href="https://docs.wpvip.com/vip-support/vip-product-feedback/">Product feedback</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17017"><a href="https://docs.wpvip.com/vip-support/add-powered-by-wordpress-vip-to-your-site/">Add “Powered by WordPress VIP” to a site</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17176"><a href="https://docs.wpvip.com/vip-cli/">VIP-CLI</a> <button aria-expanded="false" aria-label="Submenu for VIP-CLI" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17204"><a href="https://docs.wpvip.com/vip-cli/installing-vip-cli/">Install VIP-CLI</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19696"><a href="https://docs.wpvip.com/vip-cli/commands/">Command reference</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17018"><a href="https://docs.wpvip.com/vip-cli/target-environments/">Target environments with VIP-CLI commands</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17202"><a href="https://docs.wpvip.com/vip-cli/advanced-usage/">Advanced usage</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17203"><a href="https://docs.wpvip.com/vip-cli/troubleshooting/">Troubleshooting VIP-CLI</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17214"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/">WP-CLI with VIP-CLI</a> <button aria-expanded="false" aria-label="Submenu for WP-CLI with VIP-CLI" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17201"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/disallowed-commands/">Disallowed WP-CLI commands</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17022"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/search-replace/">Use WP-CLI search-replace</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17019"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/save-command-output/">Save command output to a file</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17023"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/write-custom-wp-cli-commands/">Write custom WP-CLI commands</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17020"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/wp-cli-commands-on-vip/">Best practices for writing WP-CLI commands</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17021"><a href="https://docs.wpvip.com/vip-cli/wp-cli-with-vip-cli/cli-commands-at-scale/">Write custom WP-CLI commands at scale</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17208"><a href="https://docs.wpvip.com/wordpress-on-vip/">WordPress on WPVIP</a> <button aria-expanded="false" aria-label="Submenu for WordPress on WPVIP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17213"><a href="https://docs.wpvip.com/wordpress-on-vip/action-scheduler/">Action Scheduler</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17071"><a href="https://docs.wpvip.com/wordpress-on-vip/autoloaded-options/">Autoloaded options</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17180"><a href="https://docs.wpvip.com/wordpress-on-vip/block-editor/">Block editor</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17200"><a href="https://docs.wpvip.com/wordpress-on-vip/cron-control/">WP-Cron</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17027"><a href="https://docs.wpvip.com/wordpress-on-vip/customize-user-roles/">Customize user roles</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17938"><a href="https://docs.wpvip.com/wordpress-on-vip/drop-ins/">Drop-ins</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17212"><a href="https://docs.wpvip.com/wordpress-on-vip/email/">Email</a> <button aria-expanded="false" aria-label="Submenu for Email" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20915"><a href="https://docs.wpvip.com/wordpress-on-vip/email/send-from-custom-domain/">Send emails from a custom domain</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-has-children menu-item-17014"><a href="https://docs.wpvip.com/wordpress-on-vip/jetpack/">Jetpack</a> <button aria-expanded="false" aria-label="Submenu for Jetpack" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20346"><a href="https://docs.wpvip.com/wordpress-on-vip/jetpack/connections/">Jetpack connections</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17809"><a href="https://docs.wpvip.com/wordpress-on-vip/jetpack/version-updates/">Version updates for Jetpack</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17141"><a href="https://docs.wpvip.com/wordpress-on-vip/jetpack/content-distribution/">Control Jetpack content distribution</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17097"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/">WordPress multisite</a> <button aria-expanded="false" aria-label="Submenu for WordPress multisite" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17129"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/database-structure/">Database structure for multisites</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17126"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/network-sites/">Network Sites</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16973"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/create-new-sites/">Add a network site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-18222"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/update-site-address-url/">Update the Site Address (URL) of a network site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17104"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/subdomains-subdirectories/">Subdomain and subdirectory structures</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17106"><a href="https://docs.wpvip.com/wordpress-on-vip/multisites/sunrise-php/">sunrise.php</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17211"><a href="https://docs.wpvip.com/wordpress-on-vip/php/">PHP</a> <button aria-expanded="false" aria-label="Submenu for PHP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17067"><a href="https://docs.wpvip.com/wordpress-on-vip/php/error-reporting/">PHP error reporting</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-22230"><a href="https://docs.wpvip.com/wordpress-on-vip/php/php-sessions/">PHP sessions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17867"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/">Version updates for PHP</a> <button aria-expanded="false" aria-label="Submenu for Version updates for PHP" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-16982"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/code-scanning-for-php-upgrade/">Prepare application code for a PHP version update</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17862"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/phpcs-scans/">PHPCS scans for PHP version compatibility</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17863"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/php-linting-scans/">PHP linting for PHP version compatibility</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17864"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/static-analysis/">Static analysis tools for PHP version compatibility</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17865"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/automated-tests/">Automated tests for PHP version compatibility</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17866"><a href="https://docs.wpvip.com/wordpress-on-vip/php/versions/platform-environment-tests/">Test a PHP update on a VIP Platform environment</a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17041"><a href="https://docs.wpvip.com/wordpress-on-vip/local-time/">Obtaining a local time</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17197"><a href="https://docs.wpvip.com/wordpress-on-vip/post-revisions/">Post revisions</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-20313"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/">Search options</a> <button aria-expanded="false" aria-label="Submenu for Search options" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-14794"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/wordpress-search/">Core WordPress search functionality</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9905"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/comparing-search-options/">Comparison of Elasticsearch options on WordPress VIP</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-9159"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/elasticsearch/">Elasticsearch</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-backgrounds menu-item-14795"><a href="https://docs.wpvip.com/wordpress-on-vip/search-options/jetpack-search/">Jetpack Search</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17199"><a href="https://docs.wpvip.com/wordpress-on-vip/wordpress-upgrades/">Version updates for WordPress</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17178"><a href="https://docs.wpvip.com/wordpress-on-vip/wordpress-rest-api/">WordPress REST API</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20245"><a href="https://docs.wpvip.com/wordpress-on-vip/wordpress-single-site/">WordPress single site</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17210"><a href="https://docs.wpvip.com/wordpress-on-vip/xml-rpc/">XML-RPC</a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-has-children menu-item-17174"><a href="https://docs.wpvip.com/wordpress-skeleton/">WordPress skeleton</a> <button aria-expanded="false" aria-label="Submenu for WordPress skeleton" class="a8c-docs-sidebar-list__toggle"></button> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17193"><a href="https://docs.wpvip.com/wordpress-skeleton/client-mu-plugins-directory/">/client-mu-plugins directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17181"><a href="https://docs.wpvip.com/wordpress-skeleton/docs-directory/">/docs directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17192"><a href="https://docs.wpvip.com/wordpress-skeleton/images-directory/">/images directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17012"><a href="https://docs.wpvip.com/wordpress-skeleton/languages-directory/">/languages directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17194"><a href="https://docs.wpvip.com/wordpress-skeleton/plugins-directory/">/plugins directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17189"><a href="https://docs.wpvip.com/wordpress-skeleton/private-directory/">/private directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17190"><a href="https://docs.wpvip.com/wordpress-skeleton/themes-directory/">/themes directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17184"><a href="https://docs.wpvip.com/wordpress-skeleton/vip-config-directory/">/vip-config directory</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17183"><a href="https://docs.wpvip.com/wordpress-skeleton/editorconfig/">.editorconfig</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-technical-references menu-item-17182"><a href="https://docs.wpvip.com/wordpress-skeleton/phpcs-xml-dist/">.phpcs.xml.dist</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-how-tos menu-item-17013"><a href="https://docs.wpvip.com/wordpress-skeleton/serve-static-content-wp/">Serve static content</a></li> </ul> </li> </ul><ul class="a8c-docs-sidebar-footer is-style-muted"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10908"><a href="https://wordpressvip.zendesk.com/">Contact Support</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11027"><a href="https://wpvipstatus.com/">WPVIP Status</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10905"><a href="https://lobby.vip.wordpress.com/">VIP Lobby</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10906"><a href="https://wpvip.com/resources/">Resource Library</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10907"><a href="https://docs.parse.ly/">Parse.ly Help</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19760"><a href="https://wpvip.com/privacy/">Privacy Policy</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-15890"><a href="https://wpvip.com/accessibility/">Accessibility at WordPress VIP</a></li> </ul> </nav> <!-- .a8c-docs-layout__sidebar --> <div class="a8c-docs-layout__main__content" id="a8c-docs-toc-scroll"> <div id="a8c-docs-toc-content" class="a8c-docs-layout__main__content__inner"> <div class="a8c-docs-layout__main__content__primary"> <main> <nav class="a8c-docs-breadcrumbs" aria-label="Breadcrumb"><ol><li>Guidebooks</li> <li><a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/">Develop on WordPress VIP</a></li> <li aria-current="page">Infrastructure</li></ol></nav> <article class="a8c-docs-entry post-21176 guidebook type-guidebook status-publish hentry" aria-label="Infrastructure" id="post-21176" > <header class="a8c-docs-entry__header"> <h1 class="a8c-docs-entry__title"> Infrastructure</h1> </header> <!-- .a8c-docs-entry__header --> <div class="a8c-docs-entry__content"> <p class="has-large-font-size">Additional layers of WPVIP’s infrastructure are in place to enhance the performance and security of your application environments.</p> <h2 class="wp-block-heading">The page cache</h2> <p>The <strong>page cache</strong> is the first layer of WPVIP’s infrastructure that is encountered by every request made to your WordPress or Node.js environment. The page cache determines whether a request will be served a cached response or if a request must be be routed to an origin server. The default behaviors of the page cache are designed to protect the health of your application by minimizing the number of requests made to your origin servers, while also ensuring that cached content is not stale. </p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/caching/page-cache/">Read more about the page cache</a></p> <p>Cached content is served by WPVIP’s content delivery network (CDN). This is a global network of <strong>edge cache servers</strong> that are each used to store and serve content closest to the end user requesting content from your site.</p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/infrastructure/edge-cache/">Read more about the edge cache</a></p> <h2 class="wp-block-heading">The VIP File System</h2> <p>In a typical WordPress installation, uploaded media files are stored in a file system located within the site’s web container. On WPVIP, uploaded files are stored in a separate, external service called <strong>the VIP File System</strong>. All of the contents of a WordPress site’s <code>/wp-content/uploads/</code> directory are mapped to the VIP File System. </p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/vip-file-system/">Read more about the VIP File System</a></p> <p>As an external object store, the VIP File System lacks a true directory structure. As a result, most operations on directories (e.g. <code>rmdir()</code>) will not work as expected.</p> <p>The read-only setting of the VIP File System provides better security against the creation or execution of malicious scripts. However the read-only setting also limits the types of operations and methods that can be used to work with uploaded files. The system <code>/tmp</code> directory should be used to perform operations on temporary files and other local file operations such as extracting and working with ZIP files.</p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/vip-file-system/media-uploads/">Read more about working with uploaded files</a></p> <p>The VIP File System also has built-in services such as automatic conversion of images to next-gen formats, and dynamic generation of requested image sizes. Separate intermediate files (e.g. <code>example-150x150.jpg</code>) will not be generated after your site has migrated to WPVIP. Instead, your images will be served at the registered intermediate sizes on-demand. </p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/vip-file-system/image-files/">Read more about the image file behavior</a></p> <h3 class="wp-block-heading">Shared media files</h3> <p>As part of the “code moves up; content moves down” infrastructure, media files uploaded to a production environment are automatically shared by the VIP File System to its associated non-production environments. This eliminates the need to copy media between environments after a data sync and other similar operations.</p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/vip-file-system/shared-media-files/">Read more about shared media files</a></p> <h3 class="wp-block-heading">Media file exports and imports</h3> <p>A copy of the media files associated with a WordPress environment and stored in the VIP File System can be exported from within the VIP Dashboard for an application. </p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/vip-file-system/media-backups/">Read more about media file backups</a></p> <p>VIP-CLI can be used to import additional media files to the VIP File System for an environment.</p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/vip-file-system/import-media-files/">Read more about media file imports</a></p> <h2 class="wp-block-heading">Databases</h2> <p>Each environment in a WordPress application has its own unique SQL database instance. Direct access to an environment’s database is limited. The WP-CLI command <code>wp db query</code> is allowed, but defaults to read-only. A read-only phpMyAdmin console using VIP-CLI can be accessed if you have an Org admin role or an App admin role for the environments application.</p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/databases/">Read more about databases</a></p> <p>Databases for production environments are backed up every hour, including custom tables, and non-production databases are backed up daily. Database backups can be generated and downloaded within the VIP Dashboard for an application or with VIP-CLI.</p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/databases/backups/">Read more about database backups</a></p> <p>You can use VIP-CLI to import a full database file to migrate a site to the VIP Platform, or import a partial database file to update specific tables.</p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/databases/import/">Read more about database imports</a></p> <h2 class="wp-block-heading">Security</h2> <p>Some security and performance features are automatically implemented to protect and support your application. Security monitoring and firewalls are built in to the infrastructure, and all web containers run in read-only mode..</p> <p>For WordPress applications, WPVIP has multiple security protections in place to protect against unauthorized access and abuse of the WP Cron, XML-RPC, and login endpoints.</p> <p>The overall security of any application is not dependent on the infrastructure alone, but on the shared responsibility of all users with access to an application to follow security best practices, and to maintain the quality of the code that is deployed to their applications.</p> <p class="a8c-docs-arrow-link"><a href="https://docs.wpvip.com/security/">Read more about security on WPVIP</a></p> </div> <!-- .a8c-docs-entry-content --> <p class='a8c-docs-last-updated-text'>Last updated: November 25, 2024</p> </article> <!-- .a8c-docs-entry --> <br /><hr /> <nav class="a8c-docs-post-navigation__wrapper" aria-label="Posts"> <h2 class="screen-reader-text">Post navigation</h2> <ul> <li class="a8c-docs-post-navigation__prev"> <a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/applications-and-environments/"> <span class="a8c-docs-post-navigation__subheading">Previous</span> <span class="a8c-docs-post-navigation__link-text">Applications and their environments</span> </a> </li><li class="a8c-docs-post-navigation__next"> <a href="https://docs.wpvip.com/guidebooks/develop-on-wpvip/wordpress-apps/"> <span class="a8c-docs-post-navigation__subheading">Next</span> <span class="a8c-docs-post-navigation__link-text">Developing for WordPress applications</span> </a> </li> </ul> </nav> </main> <footer class="a8c-docs-layout__main__content__footer"> <hr /> <h2 class="has-text-align-center screen-reader-text"> Contact WordPress VIP </h2> <p class="has-text-align-center a8c-docs-layout__main__content__footer__header"> Have a question, or ready to get started with WordPress VIP? </p> <div class="a8c-docs-button-group__wrapper"> <ul class="a8c-docs-button-group"> <li> <a class="a8c-docs-button" target="_blank" href="https://wordpressvip.zendesk.com/">Contact Support</a> </li> <li> <a class="a8c-docs-button is-style-secondary" target="_blank" href="https://wpvip.com/contact/">Contact Sales</a> </li> </ul> </div> <p class="has-text-align-center"> <statusiq-status-widget src="https://wpvipstatus.com" widget-type="badge" widget-text="WPVIP"></statusiq-status-widget> </p> <hr /> <p class="has-text-align-center a8c-docs-gutter-bottom-none font-small"> Documentation is licensed under a </p> <p class="has-text-align-center font-small"> <a href="https://creativecommons.org/licenses/by-sa/4.0/"> Creative Commons Attribution-ShareAlike 4.0 International License </a> </p> <div class="a8c-docs-automattic-block"> <p> <a href="https://automattic.com/"> An <span class="screen-reader-text">Automattic</span><svg class="svg-icon svg-icon-automattic" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 15.4"><path d="M72.5 15.4c-5.1 0-8.4-3.7-8.4-7.5v-.4c0-3.9 3.3-7.5 8.4-7.5 5.1 0 8.4 3.6 8.4 7.5V8c0 3.8-3.3 7.4-8.4 7.4zm5.7-7.9c0-2.8-2-5.3-5.7-5.3s-5.7 2.5-5.7 5.3v.3c0 2.8 2 5.3 5.7 5.3s5.7-2.5 5.7-5.3v-.3z" fill="#3298CB"/><path d="M15 14.9l-1.9-3.6H4.7l-1.8 3.6H0L7.8.5H10l7.9 14.4H15zM8.8 3.3l-3.1 6h6.4l-3.3-6zm21.4 12.1c-5.2 0-7.6-2.8-7.6-6.5V.5h2.7V9c0 2.7 1.7 4.2 5.1 4.2 3.4 0 4.8-1.6 4.8-4.2V.5h2.7v8.4c0 3.6-2.3 6.5-7.7 6.5zM52.9 2.8v12.1h-2.7V2.8h-6.3V.5h15.3v2.2h-6.3zM105 14.9V3.5l-.7 1.3-6 10.1H97L91 4.8l-.7-1.3v11.4h-2.6V.5h3.7l5.7 9.9.7 1.2.7-1.2 5.6-9.9h3.7v14.4H105zm23.1 0l-1.9-3.6h-8.4l-1.8 3.6h-3L120.8.5h2.2l7.9 14.4h-2.8zm-6.2-11.6l-3.1 6h6.4l-3.3-6zm19.9-.5v12.1h-2.7V2.8h-6.3V.5h15.3v2.2h-6.3zm19.8 0v12.1h-2.7V2.8h-6.3V.5h15.3v2.2h-6.3zm12.9 12.1v-13c1.1 0 1.5-.6 1.5-1.4h1.1v14.4h-2.6zm23.8-10.3c-1.3-1.2-3.2-2.3-5.8-2.3-3.8 0-6 2.6-6 5.4V8c0 2.7 2.2 5.3 6.2 5.3 2.4 0 4.4-1.1 5.6-2.3l1.6 1.7c-1.6 1.6-4.3 2.9-7.4 2.9-5.4 0-8.7-3.5-8.7-7.4v-.6c0-3.9 3.6-7.6 8.9-7.6 3 0 5.8 1.3 7.3 2.9l-1.7 1.7zM74.3 5c.5.3.6 1 .3 1.5l-2.5 3.8c-.3.5-1 .6-1.5.3s-.6-1-.3-1.5l2.5-3.8c.4-.5 1-.6 1.5-.3z"/></svg> Creation </a> </p> </div> <!-- .a8c-docs-automattic-block --> </footer> <!-- .a8c-docs-layout__main__content__footer --> </div> <!-- .a8c-docs-layout__main__content__primary --> <div class="a8c-docs-layout__main__content__secondary"> <nav id="docs-toc-nav" class="a8c-docs-table-of-contents__sticky" aria-label="Table of Contents"> </nav> </div> <!-- .a8c-docs-layout__main__content__secondary --> </div> <!-- .a8c-docs-layout__main__content__inner --> </div> <!-- .a8c-docs-layout__main__content --> </div> <!-- .a8c-docs-layout__main__inner --> </div> <!-- .a8c-docs-layout__main --> </div> <!-- .a8c-docs-layout --> <!-- A8C RUM --> <script defer id="bilmur" data-provider="vip" data-service="k8s-a8c" src="https://s0.wp.com/wp-content/js/bilmur.min.js?m=202448"></script> <div id="privacy-consent-banner" style="display: none;"> <div class="cookie-banner"> <div class="cookie-banner__simple-options"> <p class="cookie-banner__simple-text-description"> As an open source company, we take your privacy seriously and want to be as transparent as possible. So: We use cookies to collect some personal data from you (like your browsing data, IP addresses, and other unique identifiers). Some of these cookies we absolutely need in order to make things work, and others you can choose in order to optimize your experience while using our site and services. </p> <div class="cookie-banner__button-container"> <button class="cookie-banner__customize-button">Customize</button> <button class="cookie-banner__accept-all-button">Accept all</button> </div> </div> <div class="cookie-banner__options-selection" style="display: none;"> <p class="cookie-banner__options-lead-text"> As an open source company, we take your privacy seriously and want to be as transparent as possible. So: We use cookies to collect some personal data from you (like your browsing data, IP addresses, and other unique identifiers). Some of these cookies we absolutely need in order to make things work, and others you can choose in order to optimize your experience while using our site and services. </p> <div class="cookie-banner__bucket-container"> <input class="cookie-banner__checkbox" type="checkbox" checked disabled> <div class="cookie-banner__option-description"> <strong>Required</strong> <p>These cookies are essential for our websites and services to perform basic functions and are necessary for us to operate certain features, like allowing registered users to authenticate and perform account-related functions, storing preferences set by users (like account name, language, and location), and ensuring our services operate properly. </p> </div> </div> <div class="cookie-banner__bucket-container"> <input id="analytics-bucket-toggle" class="cookie-banner__checkbox" type="checkbox" checked> <div class="cookie-banner__option-description"> <strong>Analytics</strong> <p>These cookies allow us to optimize performance by collecting information on how users interact with our websites.</p> </div> </div> <div class="cookie-banner__bucket-container"> <input id="advertising-bucket-toggle" class="cookie-banner__checkbox" type="checkbox" checked> <div class="cookie-banner__option-description"> <strong>Advertising</strong> <p>We and our advertising partners set these cookies to provide you with relevant content and to understand that content’s effectiveness.</p> </div> </div> <button class="cookie-banner__accept-selection-button">Accept selection</button> </div> </div> </div><script type="text/javascript" src="https://docs.wpvip.com/wp-content/plugins/vip-privacy-toolset/assets/privacy-consent-banner.js?ver=1.0.0" id="privacy-toolset-js-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" src="https://docs.wpvip.com/wp-content/themes/a8c-docs/assets/build/main.js?m=1732566038g" ></script><script type="text/javascript" src="https://stats.wp.com/e-202448.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script type="text/javascript" id="jetpack-stats-js-after"> /* <![CDATA[ */ _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"182304402\",\"post\":\"21176\",\"tz\":\"0\",\"srv\":\"docs.wpvip.com\",\"hp\":\"vip\",\"j\":\"1:14.0\"}") ]); _stq.push([ "clickTrackerInit", "182304402", "21176" ]); /* ]]> */ </script> </body> </html>