{"id":19951960,"url":"https://github.com/studio24/maintenance-page","last_synced_at":"2025-08-27T14:19:11.512Z","repository":{"id":72851340,"uuid":"83408786","full_name":"studio24/maintenance-page","owner":"studio24","description":"Quick HTML template for a standalone maintenance page to be used when undertaking site maintenance","archived":false,"fork":false,"pushed_at":"2024-11-17T17:02:46.000Z","size":25,"stargazers_count":7,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-18T05:43:45.475Z","etag":null,"topics":["deployments","maintenance-page"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/studio24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-28T08:32:44.000Z","updated_at":"2024-11-17T17:02:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"e8e78edf-8b71-40cf-ba1b-827af7b4b3d6","html_url":"https://github.com/studio24/maintenance-page","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/studio24/maintenance-page","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fmaintenance-page","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fmaintenance-page/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fmaintenance-page/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fmaintenance-page/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/studio24","download_url":"https://codeload.github.com/studio24/maintenance-page/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studio24%2Fmaintenance-page/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272339692,"owners_count":24917224,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deployments","maintenance-page"],"created_at":"2024-11-13T01:10:56.869Z","updated_at":"2025-08-27T14:19:11.489Z","avatar_url":"https://github.com/studio24.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Maintenance page\n\nSimple HTML maintenance page to display when taking a site offline during maintenance (e.g. major launch).\n\nRequires PHP 5.4+\n\n## Usage\nTo point a website at the maintenance page it is recommended to point the document root at the `maintenance` folder. \n\nThis will cause all requests to return the `index.php` page with a 503 temporarily unavailable message, with the exception of `robots.txt` file which Google recommends returns a 200 status during maintenance.\n\nIf you need to access the website during maintenance we recommend setting up an alternative host name and restrict access via the Studio 24 office IP address.\n\n## Setup\nCopy the folder `maintenance` to your project root folder, ideally outside of the document root. \n\nThe required files are:\n\n```\nmaintenance/\n├── .htaccess\n├── index.php\n└── robots.txt\n```\n\nThe logo files are example files if you wish to store assets in other files and include these via PHP.\n\nCustomise the `index.php` file to create your maintenance page. This page should be static HTML and standalone so it does not require external resources to load (since all requests for the current site are sent to this `index.php` page during maintenance. This means any images must be embedded within the page. Examples on how to implement images appears below. \n\nWe save this as a PHP file so we can easily control the response headers, see the example code:\n\n```php\n\u003c?php\n// Respond with 503 Unavailable status code\nhttp_response_code(503);\n\n// Advise client to try again after 30 minutes (in secs)\nheader('Retry-After: 1800');\n\nheader('Content-Type: text/html; charset=utf-8');\n?\u003e\n```\n\nCustomise the `robots.txt` file so it matches the contents of your live site.\n\n## Embedding images\n\nThe following techniques allow you to easily add embedded images into the maintenance page. Both SVG and base64 examples \nappear in the sample `index.php` file, make sure you edit this for your own requirements.\n\n### SVG \n\nSVG images are preferred since they are vector images and scale. Save the SVG HTML to `logo.svg` and replace `Studio 24` \nwith the name of the website in the following code sample:\n\n```html\n\u003ch1\u003e\n    \u003cspan class=\"hidden\"\u003eStudio 24\u003c/span\u003e\n    \u003cspan class=\"logo\"\u003e\n        \u003c?php echo file_get_contents(\"logo.svg\") ?\u003e\n    \u003c/span\u003e\n\u003c/h1\u003e\n```\n\nAlso see inline SVG images at https://css-tricks.com/using-svg/\n\n### Base64 encoded \n\nTo create a base64 encoded image use this [online convertor tool](https://websemantics.uk/tools/image-to-data-uri-converter/). \nSave the HTML image tag to `logo.base64.html` and replace `Studio 24` with the name of the website in the following code sample:\n\n```html\n\u003ch1\u003e\n    \u003cspan class=\"hidden\"\u003eStudio 24\u003c/span\u003e\n    \u003cspan class=\"logo\"\u003e\n        \u003c?php echo file_get_contents(\"logo.base64.html\") ?\u003e\n    \u003c/span\u003e\n\u003c/h1\u003e\n```\n\nAlso see https://css-tricks.com/data-uris/\n\n### HTTP headers\n\nIt's important to return a 503 Temporarily Unavailable header to ensure search engines such as Google do not update their \nindex with this maintenance page. \n\nIt is recommended to also return a Retry-After header which advises when a client should try again. We've put 30 minutes \nas an example, edit this to your own preference (the value is in seconds).\n\nYou can specify an exact date and time to retry using the following format (this must be in GMT), though we recommend \nsticking to a length of time in seconds.\n\n```\n$retry = new DateTime('2017-04-01 13:00');\nheader('Retry-After: ' . $retry-\u003eformat('D, d M Y H:i:s') . ' GMT');\n```\n\nAlso see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After \n\n## Further reading\n\n* https://developers.google.com/search/docs/crawling-indexing/pause-online-business#best-practices-disabling-site\n* https://yoast.com/http-503-site-maintenance-seo/\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE.md) for more information.\n\n## Credits\n\n- [Simon R Jones](https://github.com/simonrjones)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudio24%2Fmaintenance-page","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstudio24%2Fmaintenance-page","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudio24%2Fmaintenance-page/lists"}