Files
2026-04-28 15:13:50 +02:00

2 lines
13 KiB
JavaScript

import{ar as Y,b as ie,G as le,n as ce,u as de,v as q,d as M,j as Z,D as ee}from"./app-core.ae890a3f.js";import{C as ue}from"./Index.ab3bcf62.js";import{aq as te,f as t,Q as y,R as l,i as P,j as r,a0 as f,v as e,ae as C,U as c,M as V,r as Q,u as R,ax as se,b as pe,O as ke,P as me}from"./vendor-vue-ui.de3ab35f.js";import{B as ye}from"./DatePicker.0e992fd3.js";import{C as oe}from"./Index.52399193.js";import{G as N}from"./Graph.b73a5997.js";import{u as he}from"./WpTable.65c7870f.js";import{C as A}from"./Button.a549093d.js";import{C as ge}from"./Tooltip.ae7a1028.js";import{C as _e}from"./Table.199a0fd0.js";import{S as we}from"./Eye.050aa9d8.js";import{_ as d,d as U}from"./vendor-other.7b559694.js";import{_ as re}from"./_plugin-vue_export-helper.eefbdd86.js";import{u as fe}from"./Cta.f52e95a6.js";import{u as be}from"./GoogleSearchConsole.98e7fa66.js";import{_ as ve}from"./ConnectCta.7608f5e8.js";import{C as Se}from"./Blur.5e231db6.js";import{C as Ce}from"./Index.43bf246d.js";import{R as Te}from"./RequiredPlans.c6bcf6ea.js";import"./vendor-lodash.8e35bd59.js";import"./Close.098d4b76.js";import"./Calendar.b0c46a33.js";import"./Pencil.405b16d2.js";import"./vendor-date-picker.d49a8044.js";import"./vendor-phone.8b9bc15d.js";import"./ListItem.120acc56.js";import"./SeoRevisions.ab5dd60d.js";import"./UserAvatar.e418ef56.js";import"./Profile.d553eeca.js";import"./Trash.d35f8063.js";import"./Caret.a017b70a.js";import"./ScrollTo.f4df02aa.js";import"./Slide.e6618126.js";import"./Download.aee86410.js";import"./Row.6337df55.js";const Pe={class:"post-title"},xe={key:1},Ke={key:1},De={key:1},Re={key:1},Le={key:1},$e={key:0,class:"btn-view"},Fe=["href"],J="keyword-rank-tracker-keywords-table",E={__name:"KeywordsTable",props:{paginatedKeywords:Object,itemsPerPage:Number},setup(F){const n="all-in-one-seo-pack",u=Y(),T=ie(),k={position:d("Position",n),openInKrt:d("Open in Keyword Rank Tracker",n)},L=[{label:le.delete,value:"delete"},{label:k.addToGroup,value:"assignGroup"}],g=F,x=Q(null),a=Q([]),{orderBy:i,orderDir:b,pageNumber:$,processAdditionalFilters:v,processChangeItemsPerPage:S,processFilterTable:_,processPagination:s,processSearch:h,processSort:m,searchTerm:B,wpTableKey:K,wpTableLoading:G}=he({fetchData:u.fetchKeywords,tableId:J,tableRef:x.value,resultsPerPage:g.itemsPerPage}),O=R(()=>[{slug:"name",label:d("Keyword",n),sortable:1<g.paginatedKeywords.rows.length,sortDir:i.value==="name"?b.value:"asc",sorted:i.value==="name"},{slug:"clicks",label:d("Clicks",n),sortable:1<g.paginatedKeywords.rows.length,sortDir:i.value==="clicks"?b.value:"asc",sorted:i.value==="clicks",width:"80px"},{slug:"ctr",label:d("CTR",n),sortable:1<g.paginatedKeywords.rows.length,sortDir:i.value==="ctr"?b.value:"asc",sorted:i.value==="ctr",width:"68px"},{slug:"impressions",label:d("Impressions",n),sortable:1<g.paginatedKeywords.rows.length,sortDir:i.value==="impressions"?b.value:"asc",sorted:i.value==="impressions",width:"110px"},{slug:"position",label:d("Position",n),sortable:1<g.paginatedKeywords.rows.length,sortDir:i.value==="position"?b.value:"asc",sorted:i.value==="position",width:"90px"},{slug:"history",label:d("Position History",n),width:"140px"},{slug:"tracking",label:d("Tracking",n),width:"85px"},{slug:"view",label:"",width:"40px"}]),H=(w,D)=>{let p=w.statistics?.[D]??"";switch(D){case"ctr":p=p!==""?parseFloat(p)+"%":p;break;case"clicks":case"impressions":p=p!==""?ce.compactNumber(p):p;break;case"position":p=p!==""?Math.round(p).toFixed(0):p;break}return p},W=w=>w.statistics?.history?[{name:k.position,data:w.statistics.history.map(D=>({x:D.date,y:D.position,label:D.position}))}]:[],ae=w=>T.aioseo.urls.aio.searchStatistics+`&search=${encodeURIComponent(w.name)}&aioseo-scroll=keyword-rank-tracker-keywords-table#/keyword-rank-tracker`,ne=async(w,D)=>{a.value[D]=!0;try{w.id?await u.deleteKeywords([w.id]):await u.insertKeywords({keywords:[w.name]}).then(()=>{w.tracking=!0}).catch(()=>{w.tracking=!1}),await u.fetchKeywords({rows:g.paginatedKeywords.rows}).then(()=>{u.maybeFetchStatistics({context:"keywords"})})}catch(p){console.error(p)}finally{a.value=[]}};return(w,D)=>{const p=te("base-toggle");return t(),y(e(_e),{ref_key:"table",ref:x,id:J,"additional-filters":[],"bulk-options":L,columns:O.value,filters:[],"initial-items-per-page":100,"initial-page-number":e($),"initial-search-term":e(B),key:e(K),loading:e(G),rows:F.paginatedKeywords.rows,"selected-filters":{},"show-bulk-actions":!1,"show-header":!1,"show-table-footer":!1,totals:{},"show-items-per-page":!1,"show-pagination":!1,onFilterTable:e(_),onPaginate:e(s),onProcessAdditionalFilters:e(v),onProcessBulkAction:o=>({}),onProcessChangeItemsPerPage:e(S),onSearch:e(h),onSortColumn:e(m)},{name:l(({row:o})=>[r("div",Pe,[r("b",null,c(o.name),1)])]),clicks:l(({row:o})=>[o.statistics===null?(t(),y(e(A),{key:0,dark:""})):(t(),P("div",xe,c(H(o,"clicks")),1))]),ctr:l(({row:o})=>[o.statistics===null?(t(),y(e(A),{key:0,dark:""})):(t(),P("div",Ke,c(H(o,"ctr")),1))]),impressions:l(({row:o})=>[o.statistics===null?(t(),y(e(A),{key:0,dark:""})):(t(),P("div",De,c(H(o,"impressions")),1))]),position:l(({row:o})=>[o.statistics===null?(t(),y(e(A),{key:0,dark:""})):(t(),P("div",Re,c(H(o,"position")),1))]),history:l(({row:o})=>[o.statistics===null?(t(),y(e(A),{key:0,dark:""})):(t(),P("div",Le,[W(o).length?(t(),y(e(N),{key:0,series:W(o),height:25,preset:"overview","chart-overrides":{tooltip:{y:{formatter:I=>parseFloat(I).toFixed(2)}}}},null,8,["series","chart-overrides"])):V("",!0)]))]),tracking:l(({row:o,index:I})=>[a.value[I]?(t(),y(e(A),{key:0,dark:""})):V("",!0),f(p,{modelValue:o.tracking,"onUpdate:modelValue":[z=>o.tracking=z,z=>ne(o,I,z)],disabled:!!a.value[I]},null,8,["modelValue","onUpdate:modelValue","disabled"])]),view:l(({row:o})=>[o.id?(t(),P("div",$e,[r("a",{href:ae(o),target:"_blank"},[f(e(ge),{type:"action",offset:"-80px,0"},{tooltip:l(()=>[C(c(k.openInKrt),1)]),default:l(()=>[f(e(we))]),_:1})],8,Fe)])):V("",!0)]),_:1},8,["columns","initial-page-number","initial-search-term","loading","rows","onFilterTable","onPaginate","onProcessAdditionalFilters","onProcessChangeItemsPerPage","onSearch","onSortColumn"])}}},Be={class:"keyword-rank-tracker-container"},Ae=["innerHTML"],Ie={class:"keyword-rank-tracker-container__card"},Ue={class:"keyword-rank-tracker-container__card__header"},Me={class:"keyword-rank-tracker-container__card__body"},X="320px",Ge={__name:"KeywordRankTracker",setup(F){se(s=>({v708160e7:X}));const n="aioseo-pro",u=Y(),T=de(),k=q(),L=R(()=>u.isFetchingStatistics.keywords),g=R(()=>{const s=T.currentPost?.keyphrases.focus.keyphrase.toLowerCase()||"",h=T.currentPost?.keyphrases.additional.map(K=>K.keyphrase.toLowerCase())||[],m=Array.from(new Set([s,...h])).filter(K=>!!K);return{rows:[...u.keywords.paginated.rows.filter(K=>{const G=m.findIndex(O=>O===K.name);return G!==-1?(m.splice(G,1),!0):!1}),...m.map(K=>({name:K,tracking:!1}))]}}),x=R(()=>{const s={};for(const m of g.value.rows)m?.statistics?.history&&(s[m.name]=m);const h=[];for(const m in s)h.push({name:m,data:s[m].statistics.history.map(B=>({x:B.date,y:B.position,label:B.position}))});return h}),a=R(()=>{const s=new Date(`${u.range.start} 00:00:00`),h=new Date(`${u.range.end} 00:00:00`);return[s,h]}),i=u.keywordsLimit,b=M.getDocLink(d("Learn More",n),"keywordRankTracker",!0),$={withAioseo:d("Below you can track how your page is performing in search results based on your keyword(s).",n),keywordPositions:d("Keyword Positions",n)},v=(s,h)=>{k.setDateRange({dateRange:s,rolling:h},!1),_()},S=s=>{const h=U().subtract(16,"month").toDate(),m=k.latestAvailableDate?(U(k.latestAvailableDate,"YYYY-MM-DD").tz(U.tz.guess())||U().subtract(2,"day")).toDate():U().subtract(2,"day").toDate();return s.getTime()<h.getTime()||s.getTime()>m.getTime()},_=()=>{try{u.maybeUpdateKeywords({limit:i,postId:T.currentPost?.id})}catch(s){console.error(s)}};return pe(()=>{_()}),(s,h)=>(t(),P("div",Be,[r("div",null,[r("span",null,c($.withAioseo),1),h[0]||(h[0]=C()),r("span",{innerHTML:e(b)},null,8,Ae)]),r("div",Ie,[r("div",Ue,[C(c($.keywordPositions)+" ",1),f(e(ye),{onChange:v,clearable:!1,defaultValue:a.value,isDisabledDate:S,size:"small"},null,8,["defaultValue"])]),r("div",Me,[f(e(N),{height:parseInt(X),series:x.value,loading:L.value,"legend-style":"simple","chart-overrides":{tooltip:{y:{formatter:m=>parseFloat(m).toFixed(2)}}}},null,8,["height","series","loading","chart-overrides"])])]),e(u).errors.crud?(t(),y(e(oe),{key:0,type:"red"},{default:l(()=>[C(c(e(u).errors.crud),1)]),_:1})):V("",!0),f(e(E),{"paginated-keywords":g.value,"items-per-page":e(i)},null,8,["paginated-keywords","items-per-page"])]))}},He=re(Ge,[["__scopeId","data-v-5fb7550b"]]),Ve={key:0,class:"keyword-rank-tracker-container"},Ne=["innerHTML"],Oe={class:"keyword-rank-tracker-container__card"},ze={class:"keyword-rank-tracker-container__card__header"},je={class:"keyword-rank-tracker-container__card__body"},Ee=["innerHTML"],Ye={class:"keyword-rank-tracker-container__card"},qe={class:"keyword-rank-tracker-container__card__header"},We={class:"keyword-rank-tracker-container__card__body"},j="320px",Qe={__name:"KeywordRankTracker",setup(F){se(v=>({adb54240:j}));const n="all-in-one-seo-pack",u=Y(),T=Z(),k=q(),L=M.getDocLink(d("Learn More",n),"keywordRankTracker",!0),{connect:g,loading:x}=be(),a={...fe().strings,withAioseo:d("Below you can track how your page is performing in search results based on your keyword(s).",n),keywordPositions:d("Keyword Positions",n),sampleDataAlert:d("Sample data is available for you to explore. Connect your site to Google Search Console to receive insights on how content is being discovered. Identify areas for improvement and drive traffic to your website.",n),connectToGsc:d("Connect to Google Search Console",n),unlockSs:d("Unlock Search Statistics",n)},i=R(()=>!T.isUnlicensed&&ee.hasCoreFeature("search-statistics")&&(!k.isConnected||k.unverifiedSite)),b=R(()=>({rows:u.keywords.all.rows.slice(0,3).map(v=>({...v,tracking:!0}))})),$=R(()=>{const v={};for(const _ of b.value.rows)_?.statistics?.history&&(v[_.name]=_);const S=[];for(const _ in v)S.push({name:_,data:v[_].statistics.history.map(s=>({x:s.date,y:s.position}))});return S});return(v,S)=>{const _=te("base-button");return t(),P("div",null,[e(k).shouldShowSampleReports?(t(),P("div",Ve,[f(e(oe),{type:"yellow"},{default:l(()=>[r("span",null,c(a.sampleDataAlert),1),r("div",null,[i.value?(t(),y(_,{key:0,type:"green",size:"small",onClick:e(g),loading:e(x)},{default:l(()=>[C(c(a.connectToGsc),1)]),_:1},8,["onClick","loading"])):(t(),y(_,{key:1,tag:"a",href:e(M).getPricingUrl("search-statistics","search-statistics-upsell","keyword-rank-tracker","liteUpgrade"),target:"_blank",type:"green",size:"small",loading:e(x)},{default:l(()=>[C(c(a.unlockSs),1)]),_:1},8,["href","loading"]))])]),_:1}),r("div",null,[r("span",null,c(a.withAioseo),1),S[0]||(S[0]=C()),r("span",{innerHTML:e(L)},null,8,Ne)]),r("div",Oe,[r("div",ze,c(a.keywordPositions),1),r("div",je,[f(e(N),{height:parseInt(j),series:$.value,loading:!1,"legend-style":"simple","chart-overrides":{tooltip:{y:{formatter:s=>parseFloat(s).toFixed(2)}}}},null,8,["height","series","chart-overrides"])])]),f(e(E),{"paginated-keywords":b.value},null,8,["paginated-keywords"])])):(t(),P(ke,{key:1},[f(e(Se),{class:"keyword-rank-tracker-container"},{default:l(()=>[r("div",null,[r("span",null,c(a.withAioseo),1),S[1]||(S[1]=C()),r("span",{innerHTML:e(L)},null,8,Ee)]),r("div",Ye,[r("div",qe,c(a.keywordPositions),1),r("div",We,[f(e(N),{height:parseInt(j),series:$.value,loading:!1,"legend-style":"simple","chart-overrides":{tooltip:{y:{formatter:s=>parseFloat(s).toFixed(2)}}}},null,8,["height","series","chart-overrides"])])]),f(e(E),{"paginated-keywords":b.value},null,8,["paginated-keywords"])]),_:1}),i.value?(t(),y(e(ve),{key:0})):(t(),y(e(Ce),{key:1,"cta-second-button-action":"",onCtaSecondButtonClick:e(k).showSampleReports,"cta-link":e(M).getPricingUrl("search-statistics","search-statistics-upsell","keyword-rank-tracker","liteUpgrade"),"button-text":a.ctaButtonText,"second-button-text":a.ctaSecondButtonText,"cta-second-button-new-badge":"","cta-second-button-visible":"","learn-more-link":e(M).getUpsellUrl("search-statistics","keyword-rank-tracker","liteUpgrade"),"feature-list":[a.feature1,a.feature2,a.feature3,a.feature4],"align-top":"","hide-bonus":!e(T).isUnlicensed},{"header-text":l(()=>[C(c(a.ctaHeader),1)]),description:l(()=>[f(e(Te),{"core-feature":["search-statistics"]}),C(" "+c(a.ctaDescription),1)]),_:1},8,["onCtaSecondButtonClick","cta-link","button-text","second-button-text","learn-more-link","feature-list","hide-bonus"]))],64))])}}},Je=re(Qe,[["__scopeId","data-v-bf6a422d"]]),Ft={__name:"KeywordRankTracker",props:{modalOpen:Boolean},emits:["update:modalOpen"],setup(F,{emit:n}){const u="all-in-one-seo-pack",T=Z(),k=q(),L=n,g={headerTitle:d("Keyword Performance Tracking",u)},x=R(()=>k.isConnected&&!k.unverifiedSite);return(a,i)=>(t(),y(e(ue),{show:F.modalOpen,onClose:i[0]||(i[0]=b=>L("update:modalOpen",!1)),classes:["keyword-rank-tracker-main"]},{headerTitle:l(()=>[C(c(g.headerTitle),1)]),body:l(()=>[r("div",{class:me(["keyword-rank-tracker-main__body",{"keyword-rank-tracker-main__body--disable-click":e(k).shouldShowSampleReports}])},[!e(T).isUnlicensed&&e(ee).hasCoreFeature("search-statistics","keyword-rank-tracker")&&x.value?(t(),y(e(He),{key:0})):(t(),y(e(Je),{key:1}))],2)]),_:1},8,["show"]))}};export{Ft as default};