{"id":13653179,"url":"https://github.com/alan-null/SXA.HealthCheck","last_synced_at":"2025-04-23T06:31:14.145Z","repository":{"id":96585647,"uuid":"154022026","full_name":"alan-null/SXA.HealthCheck","owner":"alan-null","description":"Script used to find out what is the health condition of SXA site","archived":false,"fork":false,"pushed_at":"2021-10-16T23:13:24.000Z","size":24,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-01-24T04:14:22.209Z","etag":null,"topics":["health-check","powershell","powershell-script","sitecore","sxa"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alan-null.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-10-21T15:16:17.000Z","updated_at":"2021-02-01T09:53:04.000Z","dependencies_parsed_at":"2023-03-13T16:29:13.881Z","dependency_job_id":null,"html_url":"https://github.com/alan-null/SXA.HealthCheck","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alan-null%2FSXA.HealthCheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alan-null%2FSXA.HealthCheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alan-null%2FSXA.HealthCheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alan-null%2FSXA.HealthCheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alan-null","download_url":"https://codeload.github.com/alan-null/SXA.HealthCheck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250384869,"owners_count":21421810,"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","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":["health-check","powershell","powershell-script","sitecore","sxa"],"created_at":"2024-08-02T02:01:06.911Z","updated_at":"2025-04-23T06:31:10.208Z","avatar_url":"https://github.com/alan-null.png","language":"PowerShell","funding_links":[],"categories":["SXA (Sitecore Experience Accelerator)"],"sub_categories":[],"readme":"# SXA.HealthCheck\n\n**SXA.HealthCheck** is a Power Shell script used to determine health status of SXA site.\n\nIt consists of validation steps. Each step checks different thing in SXA solution and provides possible solution\n\n## Usage\n\n### Executing\n\n1. Open the latest version of [**main.ps1**](https://raw.githubusercontent.com/alan-null/SXA.HealthCheck/master/main.ps1)\n2. Copy content to a clipboard\n3. Open PowerShell ISE (`http://domain/sitecore/shell/Applications/PowerShell/PowerShellIse?sc_bw=1`)\n4. Paste content from a clipboard\n5. Set **Context item** to your site (for example `/sitecore/content/F/Validation/V`). If you are not familiar you can read more [here](https://doc.sitecorepowershell.com/interfaces/scripting)\n6. Execute script\n\nSteps will be executed one by one and you will see continuous results on the console.\n\n![console](https://user-images.githubusercontent.com/6848691/47311509-388cd100-d63a-11e8-95a3-5a86e134ee03.png)\n\nOnce the whole procedure is done you will see List View with validation results\n\n![list-view](https://user-images.githubusercontent.com/6848691/47311513-3c205800-d63a-11e8-9ffc-9898b902bfc7.png)\n\n### Executing - remote script\n\nIf you want to automate validation process and get the most recent version simply invoke this expression\n\n```PowerShell\n[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;\n$response = Invoke-WebRequest -Uri \"https://raw.githubusercontent.com/alan-null/SXA.HealthCheck/master/main.ps1\" -UseBasicParsing\nif($response.StatusCode -eq 200){\n    Invoke-Expression $response.Content\n}\n```\n\nIt will fetch the latest version of [**main.ps1**](https://raw.githubusercontent.com/alan-null/SXA.HealthCheck/master/main.ps1) script and let you invoke it inside **ISE**.\n\n### Reading results\n\nThere are 3 possible results of validation:\n\n* **OK** - you can celebrate, a validation step was successful,\n* **Warning** - something has been found but it is not considered as a serious problem (perhaps you are still configuring your site or you set something explicitly to work as a developer). Treat it as a good advice but remember to review results before you publish your site,\n* **Error** - steps with this type of result must be solved.\n\nFor **Error** and **Warning** you will see message in the 4th column. It describes the problem and suggests what you could do to solve it\n\n## Validation steps\n\n| Title                                                             | Description                                                                                                                               | From   | To   |\n| ----------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | :----- | :--- |\n| **Error Handling - 404**                                          | Checks whether current site has 404 page configured                                                                                       | `1000` | `*`  |\n| **Error Handling - 500**                                          | Checks whether current site has 500 page configured                                                                                       | `1000` | `*`  |\n| **Field 'AdditionalChildren'**                                    | Checks whether 'AdditionalChildren' field contains proper reference to a tenant shared media library folder and there are no broken links | `1000` | `*`  |\n| **Field 'Scripts Optimizing Enabled'**                            | Checks 'Scripts Optimizing Enabled' field to determine if scripts optimization is disabled                                                | `1000` | `*`  |\n| **Field 'Styles Optimizing Enabled'**                             | Checks 'Styles Optimizing Enabled' field to determine if styles optimization is disabled                                                  | `1000` | `*`  |\n| **Maps Provider key**                                             | If there is any use of Maps rendering, it checks whether maps provider key has been configured                                            | `1000` | `*`  |\n| **Site name**                                                     | Validates site name. Site names cannot contain control characters, spaces (' ') semicolons, or commas                                     | `1000` | `*`  |\n| **SXA Best practices - custom items under SXA nodes**             | Checks whether there are additional or modified files under SXA nodes                                                                     | `1000` | `*`  |\n| **SXA Best practices - limit the number of renderings on a page** | Checks whether there are pages with more than 30 renderings                                                                               | `1000` | `*`  |\n| **SXA Best practices - media under virtual media folder**         | Checks whether there are media items stored directly under virtual media folder                                                           | `1000` | `*`  |\n| **Theme and Compatible Themes field consistency**                 | Checks whether themes used in Theme-to-Device mapping are compatible with current site                                                    | `1000` | `*`  |\n| **Theme for Default device**                                      | Checks whether any theme is assigned to a default device                                                                                  | `1000` | `*`  |\n| **Field 'SiteMediaLibrary'**                                      | Checks whether 'SiteMediaLibrary' field contains proper reference to a site specific media library item                                   | `1400` | `*`  |\n| **Field 'ThemesFolder'**                                          | Checks whether 'ThemesFolder' field contains proper reference to a site specific themes folder item                                       | `1400` | `*`  |\n| **Site definitions conflicts**                                    | Checks whether current site definitions have any conflicts with other sites                                                               | `1500` | `*`  |\n| **SXA Best practices - unused data sources**                      | Checks whether there are unused data sources present in your site                                                                         | `1800` | `*`  |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falan-null%2FSXA.HealthCheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falan-null%2FSXA.HealthCheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falan-null%2FSXA.HealthCheck/lists"}