diff --git a/resources/dist/build/assets/cp-c6df7fbd.js b/resources/dist/build/assets/cp-c6df7fbd.js
deleted file mode 100644
index 7a5ae3fa..00000000
--- a/resources/dist/build/assets/cp-c6df7fbd.js
+++ /dev/null
@@ -1 +0,0 @@
-function o(s,t,e,a,r,d,u,h){var i=typeof s=="function"?s.options:s;t&&(i.render=t,i.staticRenderFns=e,i._compiled=!0),a&&(i.functional=!0),d&&(i._scopeId="data-v-"+d);var l;if(u?(l=function(n){n=n||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!n&&typeof __VUE_SSR_CONTEXT__<"u"&&(n=__VUE_SSR_CONTEXT__),r&&r.call(this,n),n&&n._registeredComponents&&n._registeredComponents.add(u)},i._ssrRegister=l):r&&(l=h?function(){r.call(this,(i.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(i.functional){i._injectStyles=l;var v=i.render;i.render=function(m,f){return l.call(f),v(m,f)}}else{var p=i.beforeCreate;i.beforeCreate=p?[].concat(p,l):[l]}return{exports:s,options:i}}const g={mixins:[Fieldtype],computed:{fields(){return _.chain(this.meta.fields).map(s=>({handle:s.handle,...s.field})).values().value()}},methods:{updateKey(s,t){let e=this.value;Vue.set(e,s,t),this.update(e)}}};var C=function(){var t=this,e=t._self._c;return e("div",{staticClass:"publish-fields"},t._l(t.fields,function(a){return e("publish-field",{key:a.handle,staticClass:"form-group",attrs:{config:a,value:t.value[a.handle],meta:t.meta.meta[a.handle],"read-only":!a.localizable},on:{"meta-updated":function(r){return t.metaUpdated(a.handle,r)},focus:function(r){return t.$emit("focus")},blur:function(r){return t.$emit("blur")},input:function(r){return t.updateKey(a.handle,r)}}})}),1)},x=[],y=o(g,C,x,!1,null,null,null,null);const b=y.exports;const $={mixins:[Fieldtype],data(){return{autoBindChangeWatcher:!1,changeWatcherWatchDeep:!1,allowedFieldtypes:[]}},computed:{source(){return this.value.source},sourceField(){return this.value.source==="field"?this.value.value:null},componentName(){return this.config.field.type.replace(".","-")+"-fieldtype"},sourceTypeSelectOptions(){let s=[];return this.config.field!==!1&&s.push({label:__("seo-pro::messages.custom"),value:"custom"}),this.config.from_field!==!1&&s.unshift({label:__("seo-pro::messages.from_field"),value:"field"}),this.config.inherit!==!1&&s.unshift({label:__("seo-pro::messages.inherit"),value:"inherit"}),this.config.disableable&&s.push({label:__("seo-pro::messages.disable"),value:"disable"}),s},fieldConfig(){return Object.assign(this.config.field,{placeholder:this.config.placeholder})},placeholder(){return this.config.placeholder}},mounted(){let s=this.config.allowed_fieldtypes||["text","textarea","markdown","redactor"];this.allowedFieldtypes=s.concat(this.config.merge_allowed_fieldtypes||[])},methods:{sourceDropdownChanged(s){this.value.source=s,s!=="field"&&(this.value.value=this.meta.defaultValue,this.meta.fieldMeta=this.meta.defaultFieldMeta)},sourceFieldChanged(s){this.value.value=s},customValueChanged(s){let t=this.value;t.value=s,this.update(t)}}};var w=function(){var t=this,e=t._self._c;return e("div",{staticClass:"flex"},[e("div",{staticClass:"source-type-select pr-4"},[e("v-select",{attrs:{options:t.sourceTypeSelectOptions,reduce:a=>a.value,disabled:!t.config.localizable,clearable:!1,value:t.source},on:{input:t.sourceDropdownChanged}})],1),e("div",{staticClass:"flex-1"},[t.source==="inherit"?e("div",{staticClass:"text-sm text-grey inherit-placeholder mt-1"},[t.placeholder!==!1?[t._v(" "+t._s(t.placeholder)+" ")]:t._e()],2):t.source==="field"?e("div",{staticClass:"source-field-select"},[e("text-input",{attrs:{value:t.sourceField,disabled:!t.config.localizable},on:{input:t.sourceFieldChanged}})],1):t.source==="custom"?e(t.componentName,{tag:"component",attrs:{name:t.name,config:t.fieldConfig,value:t.value.value,meta:t.meta.fieldMeta,"read-only":!t.config.localizable,handle:"source_value"},on:{input:t.customValueChanged}}):t._e()],1)])},S=[],F=o($,w,S,!1,null,null,null,null);const R=F.exports,T={props:["status"]};var k=function(){var t=this,e=t._self._c;return e("div",[t.status==="pending"?e("span",{staticClass:"icon icon-circular-graph animation-spin"}):e("span",{staticClass:"little-dot",class:{"bg-green-600":t.status==="pass","bg-red-500":t.status==="fail","bg-yellow-dark":t.status==="warning"}})])},D=[],V=o(T,k,D,!1,null,null,null,null);const c=V.exports,P={props:["id","initialStatus","initialScore"],data(){return{status:this.initialStatus,score:this.initialScore}},created(){this.score||this.updateScore()},methods:{updateScore(){Statamic.$request.get(cp_url(`seo-pro/reports/${this.id}`)).then(s=>{if(s.data.status==="pending"||s.data.status==="generating"){setTimeout(()=>this.updateScore(),1e3);return}this.status=s.data.status,this.score=s.data.score})}}};var z=function(){var t=this,e=t._self._c;return e("div",[t.score?e("div",[e("seo-pro-status-icon",{staticClass:"inline-block ml-1 mr-3",attrs:{status:t.status}}),t._v(" "+t._s(t.score)+"% ")],1):e("loading-graphic",{attrs:{text:null,inline:!0}})],1)},M=[],N=o(P,z,M,!1,null,null,null,null);const O=N.exports,H={props:["item"],components:{StatusIcon:c}};var W=function(){var t=this,e=t._self._c;return e("modal",{attrs:{name:"report-details","click-to-close":!0},on:{closed:function(a){return t.$emit("closed")}}},[e("div",{staticClass:"p-0"},[e("h1",{staticClass:"p-4 bg-gray-200 border-b text-lg"},[t._v(" "+t._s(t.__("seo-pro::messages.page_details"))+" ")]),e("div",{staticClass:"modal-body"},t._l(t.item.results,function(a){return e("div",{staticClass:"flex px-4 leading-normal pb-2",class:{"bg-red-100":a.status!=="pass"}},[e("status-icon",{staticClass:"mr-3 mt-2",attrs:{status:a.status}}),e("div",{staticClass:"flex-1 mt-2 prose text-gray-700"},[e("div",{staticClass:"text-gray-900",domProps:{innerHTML:t._s(a.description)}}),a.comment?e("div",{staticClass:"text-xs",class:{"text-red-800":a.status!=="pass"},domProps:{innerHTML:t._s(a.comment)}}):t._e()])],1)}),0),e("footer",{staticClass:"px-5 py-3 bg-gray-200 rounded-b-lg border-t flex items-center font-mono text-xs"},[t._v(" "+t._s(t.item.url)+" ")])])])},U=[],q=o(H,W,U,!1,null,null,null,null);const E=q.exports,G={props:["date"],data(){return{text:null}},mounted(){this.update()},methods:{update(){this.text=moment(this.date*1e3).fromNow(),setTimeout(()=>this.update(),6e4)}}};var I=function(){var t=this,e=t._self._c;return e("span",[t._v(t._s(t.text))])},K=[],L=o(G,I,K,!1,null,null,null,null);const X=L.exports,B={components:{ReportDetails:E,RelativeDate:X,StatusIcon:c},props:["initialReport"],data(){return{loading:!1,report:this.initialReport,selected:null}},computed:{isGenerating(){return this.initialReport.status==="pending"||this.initialReport.status==="generating"},id(){return this.report.id},isCachedHeaderReady(){return this.report.date&&this.report.pages_crawled&&this.report.score}},mounted(){this.load()},methods:{load(){this.loading=!0,Statamic.$request.get(cp_url(`seo-pro/reports/${this.id}`)).then(s=>{if(s.data.status==="pending"||s.data.status==="generating"){setTimeout(()=>this.load(),1e3);return}this.report=s.data,this.loading=!1})}}};var A=function(){var t=this,e=t._self._c;return e("div",[e("header",{staticClass:"flex items-center mb-6"},[e("h1",{staticClass:"flex-1"},[t._v(t._s(t.__("seo-pro::messages.seo_report")))]),t.loading?t._e():e("a",{staticClass:"btn-primary",attrs:{href:t.cp_url("seo-pro/reports/create")}},[t._v(t._s(t.__("seo-pro::messages.generate_report")))])]),t.report?e("div",[t.isCachedHeaderReady?e("div",[e("div",{staticClass:"flex flex-wrap -mx-4"},[e("div",{staticClass:"w-1/3 px-4"},[e("div",{staticClass:"card py-2"},[e("h2",{staticClass:"text-sm text-gray-700"},[t._v(t._s(t.__("seo-pro::messages.generated")))]),e("div",{staticClass:"text-lg"},[e("relative-date",{attrs:{date:t.report.date}})],1)])]),e("div",{staticClass:"w-1/3 px-4"},[e("div",{staticClass:"card py-2"},[e("h2",{staticClass:"text-sm text-gray-700"},[t._v(t._s(t.__("Pages Crawled")))]),e("div",{staticClass:"text-lg"},[t._v(t._s(t.report.pages_crawled))])])]),e("div",{staticClass:"w-1/3 px-4"},[e("div",{staticClass:"card py-2"},[e("h2",{staticClass:"text-sm text-gray-700"},[t._v(t._s(t.__("Site Score")))]),e("div",{staticClass:"text-lg flex items-center"},[e("div",{staticClass:"bg-gray-200 h-3 w-full rounded flex mr-2"},[e("div",{staticClass:"h-3 rounded-l",class:{"bg-red-500":t.report.score<70,"bg-yellow-dark":t.report.score<90,"bg-green-500":t.report.score>=90},style:`width: ${t.report.score}%`})]),e("span",[t._v(t._s(t.report.score)+"%")])])])])]),e("div",{staticClass:"card p-0 mt-6"},[e("table",{staticClass:"data-table"},[e("tbody",t._l(t.report.results,function(a){return e("tr",[e("td",{staticClass:"w-8 text-center"},[e("status-icon",{attrs:{status:a.status}})],1),e("td",{staticClass:"pl-0"},[t._v(t._s(a.description))]),e("td",{staticClass:"text-grey text-right"},[t._v(t._s(a.comment))])])}),0)])])]):t._e(),t.loading?e("div",{staticClass:"card loading mt-6"},[t.isGenerating?e("loading-graphic",{attrs:{text:t.__("seo-pro::messages.report_is_being_generated")}}):e("loading-graphic")],1):e("div",{staticClass:"card p-0 mt-6"},[e("table",{staticClass:"data-table"},[e("tbody",t._l(t.report.pages,function(a){return e("tr",[e("td",{staticClass:"w-8 text-center"},[e("status-icon",{attrs:{status:a.status}})],1),e("td",{staticClass:"pl-0"},[e("a",{attrs:{href:""},on:{click:function(r){r.preventDefault(),t.selected=a.id}}},[t._v(t._s(a.url))]),t.selected===a.id?e("report-details",{attrs:{item:a},on:{closed:function(r){t.selected=null}}}):t._e()],1),e("td",{staticClass:"text-right text-xs pr-0 whitespace-no-wrap"},[e("a",{staticClass:"text-gray-700 mr-4 hover:text-grey-80",domProps:{textContent:t._s(t.__("Details"))},on:{click:function(r){r.preventDefault(),t.selected=a.id}}}),a.edit_url?e("a",{staticClass:"mr-4 text-gray-700 hover:text-gray-800",attrs:{target:"_blank",href:a.edit_url},domProps:{textContent:t._s(t.__("Edit"))}}):t._e()])])}),0)])])]):t._e()])},J=[],Q=o(B,A,J,!1,null,null,null,null);const Y=Q.exports;Statamic.$components.register("seo_pro-fieldtype",b);Statamic.$components.register("seo_pro_source-fieldtype",R);Statamic.$components.register("seo-pro-status-icon",c);Statamic.$components.register("seo-pro-report",Y);Statamic.$components.register("seo-pro-index-score",O);
diff --git a/resources/dist/build/assets/cp-e1852156.js b/resources/dist/build/assets/cp-e1852156.js
new file mode 100644
index 00000000..54ee1077
--- /dev/null
+++ b/resources/dist/build/assets/cp-e1852156.js
@@ -0,0 +1 @@
+function c(s,t,e,r,a,n,u,g){var i=typeof s=="function"?s.options:s;t&&(i.render=t,i.staticRenderFns=e,i._compiled=!0),r&&(i.functional=!0),n&&(i._scopeId="data-v-"+n);var l;if(u?(l=function(o){o=o||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!o&&typeof __VUE_SSR_CONTEXT__<"u"&&(o=__VUE_SSR_CONTEXT__),a&&a.call(this,o),o&&o._registeredComponents&&o._registeredComponents.add(u)},i._ssrRegister=l):a&&(l=g?function(){a.call(this,(i.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(i.functional){i._injectStyles=l;var f=i.render;i.render=function(m,h){return l.call(h),f(m,h)}}else{var p=i.beforeCreate;i.beforeCreate=p?[].concat(p,l):[l]}return{exports:s,options:i}}const v={mixins:[Fieldtype],computed:{fields(){return _.chain(this.meta.fields).map(s=>({handle:s.handle,...s.field})).values().value()}},methods:{updateKey(s,t){let e=this.value;Vue.set(e,s,t),this.update(e)}}};var C=function(){var t=this,e=t._self._c;return e("div",{staticClass:"publish-fields"},t._l(t.fields,function(r){return e("publish-field",{key:r.handle,staticClass:"form-group",attrs:{config:r,value:t.value[r.handle],meta:t.meta.meta[r.handle],"read-only":!r.localizable},on:{"meta-updated":function(a){return t.metaUpdated(r.handle,a)},focus:function(a){return t.$emit("focus")},blur:function(a){return t.$emit("blur")},input:function(a){return t.updateKey(r.handle,a)}}})}),1)},x=[],b=c(v,C,x,!1,null,null,null,null);const y=b.exports;const k={mixins:[Fieldtype],data(){return{autoBindChangeWatcher:!1,changeWatcherWatchDeep:!1,allowedFieldtypes:[]}},computed:{source(){return this.value.source},sourceField(){return this.value.source==="field"?this.value.value:null},componentName(){return this.config.field.type.replace(".","-")+"-fieldtype"},sourceTypeSelectOptions(){let s=[];return this.config.field!==!1&&s.push({label:__("seo-pro::messages.custom"),value:"custom"}),this.config.from_field!==!1&&s.unshift({label:__("seo-pro::messages.from_field"),value:"field"}),this.config.inherit!==!1&&s.unshift({label:__("seo-pro::messages.inherit"),value:"inherit"}),this.config.disableable&&s.push({label:__("seo-pro::messages.disable"),value:"disable"}),s},fieldConfig(){return Object.assign(this.config.field,{placeholder:this.config.placeholder})},placeholder(){return this.config.placeholder}},mounted(){let s=this.config.allowed_fieldtypes||["text","textarea","markdown","redactor"];this.allowedFieldtypes=s.concat(this.config.merge_allowed_fieldtypes||[])},methods:{sourceDropdownChanged(s){this.value.source=s,s!=="field"&&(this.value.value=this.meta.defaultValue,this.meta.fieldMeta=this.meta.defaultFieldMeta)},sourceFieldChanged(s){this.value.value=s},customValueChanged(s){let t=this.value;t.value=s,this.update(t)}}};var $=function(){var t=this,e=t._self._c;return e("div",{staticClass:"flex"},[e("div",{staticClass:"source-type-select pr-4"},[e("v-select",{attrs:{options:t.sourceTypeSelectOptions,reduce:r=>r.value,disabled:!t.config.localizable,clearable:!1,value:t.source},on:{input:t.sourceDropdownChanged}})],1),e("div",{staticClass:"flex-1"},[t.source==="inherit"?e("div",{staticClass:"text-sm text-grey inherit-placeholder mt-1"},[t.placeholder!==!1?[t._v(" "+t._s(t.placeholder)+" ")]:t._e()],2):t.source==="field"?e("div",{staticClass:"source-field-select"},[e("text-input",{attrs:{value:t.sourceField,disabled:!t.config.localizable},on:{input:t.sourceFieldChanged}})],1):t.source==="custom"?e(t.componentName,{tag:"component",attrs:{name:t.name,config:t.fieldConfig,value:t.value.value,meta:t.meta.fieldMeta,"read-only":!t.config.localizable,handle:"source_value"},on:{input:t.customValueChanged}}):t._e()],1)])},w=[],P=c(k,$,w,!1,null,null,null,null);const S=P.exports,R={props:["status"]};var F=function(){var t=this,e=t._self._c;return e("div",[t.status==="pending"?e("span",{staticClass:"icon icon-circular-graph animation-spin"}):e("span",{staticClass:"little-dot",class:{"bg-green-600":t.status==="pass","bg-red-500":t.status==="fail","bg-orange":t.status==="warning"}})])},D=[],T=c(R,F,D,!1,null,null,null,null);const d=T.exports,V={props:["id","initialStatus","initialScore"],data(){return{status:this.initialStatus,score:this.initialScore}},computed:{statusByScore(){if(!this.score)return this.status;if(this.score<70)return"fail";if(this.score<90)return"warning";if(this.score>=90)return"pass"}},created(){this.score||this.updateScore()},methods:{updateScore(){Statamic.$request.get(cp_url(`seo-pro/reports/${this.id}`)).then(s=>{if(s.data.status==="pending"||s.data.status==="generating"){setTimeout(()=>this.updateScore(),1e3);return}this.status=s.data.status,this.score=s.data.score})}}};var I=function(){var t=this,e=t._self._c;return e("div",[t.score?e("div",[e("seo-pro-status-icon",{staticClass:"inline-block ml-1 mr-3",attrs:{status:t.statusByScore}}),t._v(" "+t._s(t.score)+"% ")],1):e("loading-graphic",{attrs:{text:null,inline:!0}})],1)},M=[],N=c(V,I,M,!1,null,null,null,null);const O=N.exports,L={props:["item"],components:{StatusIcon:d}};var z=function(){var t=this,e=t._self._c;return e("modal",{attrs:{name:"report-details","click-to-close":!0},on:{closed:function(r){return t.$emit("closed")}}},[e("div",{staticClass:"p-0"},[e("h1",{staticClass:"p-4 bg-gray-200 dark:bg-dark-650 border-b dark:border-dark-900 text-lg"},[t._v(" "+t._s(t.__("seo-pro::messages.page_details"))+" ")]),e("div",{staticClass:"modal-body"},t._l(t.item.results,function(r){return e("div",{staticClass:"flex px-4 leading-normal pb-2",class:{"bg-red-100 dark:bg-dark-400":r.status!=="pass"}},[e("status-icon",{staticClass:"mr-3 mt-2",attrs:{status:r.status}}),e("div",{staticClass:"flex-1 mt-2 prose text-gray-700 dark:text-dark-150"},[e("div",{staticClass:"text-gray-900 dark:text-dark-100",domProps:{innerHTML:t._s(r.description)}}),r.comment?e("div",{staticClass:"text-xs",class:{"text-red-800 dark:text-dark-150":r.status!=="pass"},domProps:{innerHTML:t._s(r.comment)}}):t._e()])],1)}),0),e("footer",{staticClass:"px-4 py-3 dark:bg-dark-700 dark:border-dark-900 rounded-b-lg border-t flex items-center text-sm flex"},[t.item.url?e("a",{staticClass:"font-normal font-mono text-xs text-gray-700 hover:text-blue grow truncate",attrs:{href:t.item.url,target:"_blank"},domProps:{textContent:t._s(t.item.url)}}):t._e(),t.item.url?e("a",{staticClass:"font-normal text-gray-700 hover:text-blue ml-8",attrs:{href:t.item.url,target:"_blank"},domProps:{textContent:t._s(t.__("Visit"))}}):t._e(),t.item.edit_url?e("a",{staticClass:"font-normal text-gray-700 hover:text-blue ml-4",attrs:{href:t.item.edit_url,target:"_blank"},domProps:{textContent:t._s(t.__("Edit"))}}):t._e()])])])},E=[],H=c(L,z,E,!1,null,null,null,null);const U=H.exports,W={props:["date"],data(){return{text:null}},mounted(){this.update()},methods:{update(){this.text=moment(this.date*1e3).fromNow(),setTimeout(()=>this.update(),6e4)}}};var B=function(){var t=this,e=t._self._c;return e("span",[t._v(t._s(t.text))])},q=[],A=c(W,B,q,!1,null,null,null,null);const G=A.exports,J={components:{PageDetails:U,RelativeDate:G,StatusIcon:d},props:["initialReport","initialPage","initialPerPage"],data(){return{loading:!0,report:this.initialReport,selectedId:null,sortColumn:"status",sortDirection:"asc",page:this.initialPage,perPage:this.initialPerPage,paginationMeta:{}}},computed:{isGenerating(){return this.initialReport.status==="pending"||this.initialReport.status==="generating"},id(){return this.report.id},isCachedHeaderReady(){return this.report.date&&this.report.pages_crawled&&this.report.score},sortablePages(){return this.loading?[]:this.report.pages.data},parameters(){return{sortColumn:this.sortColumn,sortDirection:this.sortDirection,page:this.page,perPage:this.perPage}}},watch:{parameters:{deep:!0,handler(s,t){JSON.stringify(t)!==JSON.stringify(s)&&(this.load(),this.pushState())}}},mounted(){window.history.replaceState({parameters:this.parameters},""),window.addEventListener("popstate",this.popState)},beforeDestroy(){window.removeEventListener("popstate",this.popState)},created(){this.load()},methods:{load(){this.$axios.get(cp_url(`seo-pro/reports/${this.id}/pages`),{params:this.parameters}).then(s=>{if(s.data.status==="pending"||s.data.status==="generating"){setTimeout(()=>this.load(),1e3);return}this.report=s.data,this.sortColumn=s.data.sortColumn,this.sortDirection=s.data.sortDirection,this.page=s.data.pages.current_page,this.perPage=s.data.pages.per_page,this.paginationMeta=s.data.pages,this.loading=!1})},actionablePageResults(s){return _.chain(s.results).reject(t=>t.status==="pass").map(t=>t.actionable_pill).unique().value()},selectPaginationPage(s){this.page=parseInt(s)},selectPaginationPerPage(s){this.perPage=parseInt(s)},sorted(s,t){this.sortColumn=s,this.sortDirection=t},popState(s){s.state&&(this.popping=!0,this.page=s.state.parameters.page,this.perPage=s.state.parameters.perPage,this.$nextTick(()=>{this.popping=!1}))},pushState(){if(this.popping)return;const s=this.parameters,t=new URLSearchParams(s);window.history.pushState({parameters:s},"","?"+t.toString())}}};var K=function(){var t=this,e=t._self._c;return e("div",[e("header",{staticClass:"flex items-center mb-6"},[e("h1",{staticClass:"flex-1"},[t._v(t._s(t.__("seo-pro::messages.seo_report")))]),t.loading?t._e():e("a",{staticClass:"btn-primary",attrs:{href:t.cp_url("seo-pro/reports/create")}},[t._v(t._s(t.__("seo-pro::messages.generate_report")))])]),t.report?e("div",[t.isCachedHeaderReady?e("div",[e("h3",{staticClass:"little-heading rtl:pr-0 ltr:pl-0 mt-4 mb-2"},[t._v(t._s(t.__("Summary")))]),e("div",{staticClass:"card p-0 mt-2"},[e("div",{staticClass:"p-4 border-b dark:border-dark-900"},[e("div",{staticClass:"w-full flex"},[e("div",[e("h2",{staticClass:"text-sm text-gray-700"},[t._v(t._s(t.__("seo-pro::messages.generated")))]),e("div",{staticClass:"text-lg"},[e("relative-date",{attrs:{date:t.report.date}})],1)]),e("div",{staticClass:"grow text-right mr-8"},[e("h2",{staticClass:"text-sm text-gray-700"},[t._v(t._s(t.__("Actionable Pages")))]),e("div",{staticClass:"text-lg"},[t._v(t._s(t.report.pages_actionable||"N/A"))])]),e("div",{staticClass:"text-right mr-8"},[e("h2",{staticClass:"text-sm text-gray-700"},[t._v(t._s(t.__("Total Pages Crawled")))]),e("div",{staticClass:"text-lg"},[t._v(t._s(t.report.pages_crawled))])]),e("div",{staticClass:"text-right"},[e("h2",{staticClass:"text-sm text-gray-700"},[t._v(t._s(t.__("Site Score")))]),e("div",{staticClass:"text-lg",class:{"text-red-500":t.report.score<70,"text-orange":t.report.score<90,"text-green-600":t.report.score>=90}},[t._v(t._s(t.report.score)+"%")])])]),e("div",{staticClass:"bg-gray-300 dark:bg-dark-650 h-4 w-full rounded mr-2 mt-4"},[e("div",{staticClass:"h-4 rounded-l",class:{"bg-red-500":t.report.score<70,"bg-orange":t.report.score<90,"bg-green-600":t.report.score>=90},style:`width: ${t.report.score}%`})])]),e("table",{staticClass:"data-table"},[e("tbody",t._l(t.report.results,function(r){return e("tr",[e("td",{staticClass:"w-8 text-center"},[e("status-icon",{attrs:{status:r.status}})],1),e("td",{staticClass:"p-0"},[t._v(t._s(r.description))]),e("td",{staticClass:"text-right"},[t._v(t._s(r.comment))])])}),0)])])]):t._e(),t.loading&&t.isGenerating?e("div",{staticClass:"card loading"},[e("loading-graphic",{attrs:{text:t.__("seo-pro::messages.report_is_being_generated")}})],1):e("div",[e("h3",{staticClass:"little-heading rtl:pr-0 ltr:pl-0 mt-4 mb-2"},[t._v(t._s(t.__("seo-pro::messages.page_details")))]),t.loading?e("div",{staticClass:"card loading"},[e("loading-graphic")],1):e("data-list",{ref:"dataList",attrs:{columns:t.report.columns,rows:t.sortablePages,sort:!1,"sort-column":t.sortColumn,"sort-direction":t.sortDirection},scopedSlots:t._u([{key:"default",fn:function({filteredRows:r}){return e("div",{},[e("div",{staticClass:"card overflow-hidden p-0"},[e("data-list-table",{attrs:{rows:t.sortablePages},on:{sorted:t.sorted},scopedSlots:t._u([{key:"cell-status",fn:function({row:a}){return[e("status-icon",{staticClass:"inline-block w-5",attrs:{status:a.status}}),t._v(" "+t._s(t.__("seo-pro::messages.rules."+a.status))+" ")]}},{key:"cell-url",fn:function({row:a}){return[e("a",{staticClass:"hover:text-black dark:hover:text-dark-100",domProps:{textContent:t._s(a.url)},on:{click:function(n){n.preventDefault(),t.selectedId=a.id}}})]}},{key:"cell-actionable",fn:function({row:a}){return[t.selectedId===a.id?e("page-details",{attrs:{item:a},on:{closed:function(n){t.selectedId=null}}}):t._e(),e("a",{staticClass:"flex",staticStyle:{gap:"0.25rem"},on:{click:function(n){n.preventDefault(),t.selectedId=a.id}}},t._l(t.actionablePageResults(a),function(n){return e("span",{key:a.id+"_actionable_pill_"+n,staticClass:"inline-block text-xs bg-gray-300 dark:bg-dark-200 hover:bg-gray-800 text-gray-800 dark:text-dark-100 shrink rounded-full px-2 py-0.5 text-center justify-center",staticStyle:{"padding-top":"2px","padding-bottom":"2px"}},[t._v(t._s(n))])}),0)]}},{key:"actions",fn:function({row:a}){return e("td",{staticClass:"text-right text-xs p-0 whitespace-no-wrap"},[a.url?e("a",{staticClass:"font-normal text-gray-700 hover:text-blue",attrs:{href:a.url,target:"_blank"},domProps:{textContent:t._s(t.__("Visit"))}}):t._e(),a.edit_url?e("a",{staticClass:"font-normal text-gray-700 hover:text-blue ml-4",attrs:{href:a.edit_url,target:"_blank"},domProps:{textContent:t._s(t.__("Edit"))}}):t._e()])}}],null,!0)})],1),e("data-list-pagination",{staticClass:"mt-6",attrs:{"resource-meta":t.paginationMeta,"per-page":t.perPage,"scroll-to-top":!1,"show-totals":!0},on:{"per-page-changed":t.selectPaginationPerPage,"page-selected":t.selectPaginationPage}})],1)}}],null,!1,3781765318)})],1)]):t._e()])},X=[],j=c(J,K,X,!1,null,null,null,null);const Q=j.exports;Statamic.$components.register("seo_pro-fieldtype",y);Statamic.$components.register("seo_pro_source-fieldtype",S);Statamic.$components.register("seo-pro-status-icon",d);Statamic.$components.register("seo-pro-report",Q);Statamic.$components.register("seo-pro-index-score",O);
diff --git a/resources/dist/build/manifest.json b/resources/dist/build/manifest.json
index 57184bcc..b25a7fa0 100644
--- a/resources/dist/build/manifest.json
+++ b/resources/dist/build/manifest.json
@@ -12,7 +12,7 @@
"css": [
"assets/cp-56146771.css"
],
- "file": "assets/cp-c6df7fbd.js",
+ "file": "assets/cp-e1852156.js",
"isEntry": true,
"src": "resources/js/cp.js"
}
diff --git a/resources/js/components/reporting/Details.vue b/resources/js/components/reporting/Details.vue
deleted file mode 100644
index 324a6dfe..00000000
--- a/resources/js/components/reporting/Details.vue
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
- {{ __('seo-pro::messages.page_details') }}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/resources/js/components/reporting/IndexScore.vue b/resources/js/components/reporting/IndexScore.vue
index e800273e..0d765a6a 100644
--- a/resources/js/components/reporting/IndexScore.vue
+++ b/resources/js/components/reporting/IndexScore.vue
@@ -2,7 +2,7 @@
-
+
{{ score }}%
@@ -27,6 +27,23 @@ export default {
}
},
+ computed: {
+ statusByScore() {
+ if (! this.score) {
+ return this.status;
+ }
+
+ // Ensure we color status icon on index view to match site score color on report show view
+ if (this.score < 70) {
+ return 'fail';
+ } else if (this.score < 90) {
+ return 'warning';
+ } else if (this.score >= 90) {
+ return 'pass';
+ }
+ },
+ },
+
created() {
if (! this.score) this.updateScore();
},
diff --git a/resources/js/components/reporting/PageDetails.vue b/resources/js/components/reporting/PageDetails.vue
new file mode 100644
index 00000000..3226df22
--- /dev/null
+++ b/resources/js/components/reporting/PageDetails.vue
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+ {{ __('seo-pro::messages.page_details') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/js/components/reporting/Report.vue b/resources/js/components/reporting/Report.vue
index 334bc71b..6649f801 100644
--- a/resources/js/components/reporting/Report.vue
+++ b/resources/js/components/reporting/Report.vue
@@ -10,42 +10,39 @@
-
-
-
-
-
{{ __('seo-pro::messages.generated') }}
-
-
-
-
-
-
{{ __('Pages Crawled') }}
-
{{ report.pages_crawled }}
-
-
-
-
-
{{ __('Site Score') }}
-
-
-
{{ report.score }}%
+
{{ __('Summary') }}
+
+
+
+
+
{{ __('seo-pro::messages.generated') }}
+
+
+
+
{{ __('Actionable Pages') }}
+
{{ report.pages_actionable || 'N/A' }}
+
+
+
{{ __('Total Pages Crawled') }}
+
{{ report.pages_crawled }}
+
+
{{ __('Site Score') }}
+
{{ report.score }}%
+
+
+
-
-
-
|
- {{ item.description }} |
- {{ item.comment }} |
+ {{ item.description }} |
+ {{ item.comment }} |
@@ -53,33 +50,64 @@
-
-
-
+
+
-
-
+
+
{{ __('seo-pro::messages.page_details') }}
+
+
+
+
+
+
+
+
+
+ {{ __('seo-pro::messages.rules.'+page.status) }}
+
+
+
+
+
+
+
+ {{ pill }}
+
+
+
+
+
+ |
+
+
+
+
+
+
+
@@ -89,25 +117,34 @@