{"id":25055,"date":"2019-01-31T00:00:00","date_gmt":"2019-01-31T00:00:00","guid":{"rendered":"https:\/\/alienroad.com\/google-bilgi-bankasi\/dynamic-rendering-with-rendertron\/"},"modified":"2019-01-31T00:00:00","modified_gmt":"2019-01-31T00:00:00","slug":"dynamic-rendering-with-rendertron","status":"publish","type":"ar_kb","link":"https:\/\/alienroad.com\/google-bilgi-bankasi\/dynamic-rendering-with-rendertron\/","title":{"rendered":"Rendertron ile Dinamik Olu\u015fturma"},"content":{"rendered":"<p class=\"gargardate\">31 Ocak 2019, Per\u015fembe<\/p>\n<p>\n  Bir\u00e7ok \u00f6n u\u00e7 \u00e7er\u00e7evesi, i\u00e7eri\u011fi g\u00f6stermek i\u00e7in JavaScript&#8217;e g\u00fcvenir. Bu, Google&#8217;\u0131n i\u00e7eri\u011finizi dizine eklemesinin veya dizine eklenen i\u00e7eri\u011fi g\u00fcncellemesinin biraz zaman alabilece\u011fi anlam\u0131na gelebilir.\n<\/p>\n<p>\n  <a href=\"https:\/\/www.youtube.com\/watch?v=PFwUbgvpdaQ\" class=\"external-link\">Google I\/O&#8217;da tart\u0131\u015ft\u0131\u011f\u0131m\u0131z bir \u00e7\u00f6z\u00fcm yolu<\/a><br \/>\n  bu y\u0131l<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/dynamic-rendering-as-a-workaround\/\">dinamik olu\u015fturma<\/a>. Bunu uygulaman\u0131n bir\u00e7ok yolu vard\u0131r. Bu blog yaz\u0131s\u0131, dinamik olu\u015fturman\u0131n bir uygulama \u00f6rne\u011fini g\u00f6stermektedir:<br \/>\n  <a href=\"https:\/\/github.com\/GoogleChrome\/rendertron\" class=\"external-link\">Rendertron<\/a>, ba\u015fs\u0131z Chromium tabanl\u0131 a\u00e7\u0131k kaynakl\u0131 bir \u00e7\u00f6z\u00fcmd\u00fcr.\n<\/p>\n<h2 id=\"which-sites-should-consider-dynamic-rendering\" tabindex=\"-1\">Hangi siteler dinamik olu\u015fturmay\u0131 d\u00fc\u015f\u00fcnmeli?<\/h2>\n<p>\n  Web sitenizi ziyaret eden t\u00fcm arama motorlar\u0131 veya sosyal medya botlar\u0131 JavaScript \u00e7al\u0131\u015ft\u0131ramaz. Googlebot<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/fix-javascript-problems\/\">baz\u0131 s\u0131n\u0131rlamalara<\/a>sahiptir, \u00f6rne\u011fin JavaScript&#8217;inizi \u00e7al\u0131\u015ft\u0131rmas\u0131 zaman alabilir.\n<\/p>\n<p>\n  Dinamik olu\u015fturma, s\u0131k de\u011fi\u015fen ve g\u00f6r\u00fcnt\u00fclenmesi i\u00e7in JavaScript gerektiren i\u00e7erikler i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. Sitenizin kullan\u0131c\u0131 deneyimi (\u00f6zellikle<br \/>\n  <a href=\"https:\/\/developers.google.com\/web\/tools\/lighthouse\/audits\/first-meaningful-paint\" class=\"external-link\">ilk anlaml\u0131 boyama<\/a>s\u00fcresi), hibrit olu\u015fturmay\u0131 (\u00f6rne\u011fin,<br \/>\n  <a href=\"https:\/\/angular.io\/guide\/universal\" class=\"external-link\">Angular Universal<\/a>).\n<\/p>\n<h2 id=\"how-does-dynamic-rendering-work\" tabindex=\"-1\">Dinamik olu\u015fturma nas\u0131l \u00e7al\u0131\u015f\u0131r?<\/h2>\n<p><img decoding=\"async\" alt=\"How dynamic rendering works\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-50773c34c222.png\" loading=\"lazy\"><\/p>\n<p>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/dynamic-rendering-as-a-workaround\/\">Dinamik olu\u015fturma<\/a><br \/>\n  , belirli kullan\u0131c\u0131 arac\u0131lar\u0131 i\u00e7in istemci taraf\u0131nda olu\u015fturulan ve \u00f6nceden olu\u015fturulan i\u00e7erik aras\u0131nda ge\u00e7i\u015f yapmak anlam\u0131na gelir.\n<\/p>\n<p>\n  JavaScript&#8217;i y\u00fcr\u00fctmek ve statik HTML \u00fcretmek i\u00e7in bir olu\u015fturucuya ihtiyac\u0131n\u0131z olacak. Rendertron, olu\u015fturma i\u015flemi i\u00e7in<br \/>\n  <a href=\"https:\/\/developers.google.com\/web\/updates\/2017\/04\/headless-chrome\" class=\"external-link\">ba\u015fs\u0131z Chromium<\/a> kullanan a\u00e7\u0131k kaynakl\u0131 bir projedir. Tek Sayfal\u0131 Uygulamalar genellikle verileri arka planda y\u00fckler veya i\u00e7eriklerini olu\u015fturma i\u015fini erteler. Rendertron, bir web sitesinin olu\u015fturma i\u015flemini ne zaman tamamlad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in mekanizmalara sahiptir. T\u00fcm a\u011f istekleri bitene ve bekleyen bir i\u015f kalmayana kadar bekler.\n<\/p>\n<p>Bu yaz\u0131 \u015funlar\u0131 kapsar:<\/p>\n<ol>\n<li>\u00d6rnek bir web uygulamas\u0131na g\u00f6z at\u0131n<\/li>\n<li>K\u00fc\u00e7\u00fck bir <code>express.js<\/code> sunucusu kurun<\/li>\n<li>Dinamik olu\u015fturma i\u00e7in bir ara yaz\u0131l\u0131m olarak Rendertron&#8217;u kurun ve yap\u0131land\u0131r\u0131n<\/li>\n<\/ol>\n<h2 id=\"the-sample-web-app\" tabindex=\"-1\">\u00d6rnek web uygulamas\u0131<\/h2>\n<p>\n  <a href=\"https:\/\/kitten-corner.glitch.me\/\" class=\"external-link\">&#8220;kitten corner&#8221; web uygulamas\u0131<\/a><br \/>\n  bir API&#8217;den \u00e7e\u015fitli kedi resimleri y\u00fcklemek i\u00e7in JavaScript kullan\u0131r ve bunlar\u0131 bir \u0131zgarada g\u00f6r\u00fcnt\u00fcler.\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-5c14bd6ff47f.png\" loading=\"lazy\" alt=\"Cute cat images in a grid and a button to show more - this web app truly has it all!\"><\/p>\n<p>\u0130\u015fte JavaScript:<\/p>\n<div><\/div>\n<p>\n  Web uygulamas\u0131, modern JavaScript (ES6) kullan\u0131r ve bu<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/fix-javascript-problems\/\">hen\u00fcz Googlebot&#8217;ta desteklenmemektedir<\/a>. Googlebot&#8217;un i\u00e7eri\u011fi g\u00f6r\u00fcp g\u00f6remedi\u011fini kontrol etmek i\u00e7in<br \/>\n  <a href=\"https:\/\/developer.chrome.com\/docs\/lighthouse\/overview\" class=\"external-link\">mobil uyumluluk testini<\/a> kullanabiliriz:\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-c11335132871.png\" loading=\"lazy\" alt=\"The mobile-friendly test shows that the page is mobile-friendly, but the screenshot is\n          missing all the cats! The headline and button appear but none of the cat pictures are\n          there.\"><\/p>\n<p>\n  Bu sorunu \u00e7\u00f6zmek basit olsa da, dinamik olu\u015fturman\u0131n nas\u0131l kurulaca\u011f\u0131n\u0131 \u00f6\u011frenmek i\u00e7in iyi bir al\u0131\u015ft\u0131rmad\u0131r. Dinamik olu\u015fturma, web uygulamas\u0131 kodunda de\u011fi\u015fiklik yapmadan Googlebot&#8217;un kedi resimlerini g\u00f6rmesini sa\u011flayacakt\u0131r.\n<\/p>\n<h2 id=\"set-up-the-server\" tabindex=\"-1\">Sunucuyu kurun<\/h2>\n<p>\n  Web uygulamas\u0131n\u0131 sunmak i\u00e7in web sunucular\u0131 olu\u015fturmaya yarayan<br \/>\n  <a href=\"https:\/\/expressjs.com\/\" class=\"external-link\"><code>express<\/code><\/a>, a <code>node.js<\/code><br \/>\n  k\u00fct\u00fcphanesini kullanal\u0131m.\n<\/p>\n<p>\n  Sunucu kodu \u015fu \u015fekildedir (<br \/>\n  <a href=\"https:\/\/glitch.com\/edit\/#!\/kitten-corner?path=server.js:1:1\" class=\"external-link\">tam proje kaynak kodunu<\/a><br \/>\n  burada bulabilirsiniz):\n<\/p>\n<div><\/div>\n<p>\n  Canl\u0131 \u00f6rne\u011fi<br \/>\n  <a href=\"https:\/\/kitten-corner.glitch.me\/\" class=\"external-link\">deneyebilirsiniz<\/a> &#8211; modern bir taray\u0131c\u0131 kullan\u0131yorsan\u0131z bir s\u00fcr\u00fc kedi resmi g\u00f6rmelisiniz. Projeyi bilgisayar\u0131n\u0131zdan \u00e7al\u0131\u015ft\u0131rmak i\u00e7in<br \/>\n  <a href=\"https:\/\/nodejs.org\/en\/\" class=\"external-link\"><code>node.js<\/code><\/a> gereklidir ve \u015fu komutlar\u0131 \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir:\n<\/p>\n<div><\/div>\n<p>\n  Ard\u0131ndan taray\u0131c\u0131n\u0131z\u0131 \u015fu adrese y\u00f6nlendirin:<br \/>\n  <a href=\"https:\/\/alienroad.com\/\" class=\"external-link\"><code>https:\/\/alienroad.com<\/code><\/a>. \u015eimdi dinamik olu\u015fturmay\u0131 kurma zaman\u0131.\n<\/p>\n<h2 id=\"deploy-a-rendertron-instance\" tabindex=\"-1\">Bir Rendertron \u00f6rne\u011fi da\u011f\u0131t\u0131n<\/h2>\n<p>\n  Rendertron, bir URL alan ve ba\u015fs\u0131z Chromium kullanarak bu URL i\u00e7in statik HTML d\u00f6nd\u00fcren bir sunucu \u00e7al\u0131\u015ft\u0131r\u0131r. Rendertron projesinin<br \/>\n  <a href=\"https:\/\/github.com\/GoogleChrome\/rendertron#deploying-to-google-cloud-platform\" class=\"external-link\">\u00f6nerisini takip edece\u011fiz<\/a><br \/>\n  ve<br \/>\n  <a href=\"https:\/\/console.cloud.google.com\/\" class=\"external-link\">Google Cloud Platform<\/a>.\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-c56edfd14d41.png\" loading=\"lazy\" alt=\"The form to create a new Google Cloud Platform project.\"><\/p>\n<p>\n  kullanaca\u011f\u0131z. L\u00fctfen<br \/>\n  <a href=\"https:\/\/cloud.google.com\/free\/docs\/always-free-usage-limits\" class=\"external-link\">\u00f6deme gerektirmeyen kullan\u0131m katman\u0131<\/a>ile ba\u015flayabilece\u011finizi unutmay\u0131n; bu kurulumu \u00fcretimde kullanmak<br \/>\n  <a href=\"https:\/\/cloud.google.com\/pricing\/\" class=\"external-link\">Google Cloud Platform fiyatland\u0131rmas\u0131na<\/a>.\n<\/p>\n<ol>\n<li>\n    g\u00f6re maliyet getirebilir.<br \/>\n    <a href=\"https:\/\/console.cloud.google.com\/\" class=\"external-link\">Google Cloud konsolunda<\/a>yeni bir proje olu\u015fturun. Giri\u015f alan\u0131n\u0131n alt\u0131ndaki &#8220;Proje Kimli\u011fi&#8221;ni not edin.\n  <\/li>\n<li>\n    Dok\u00fcmantasyonda a\u00e7\u0131kland\u0131\u011f\u0131 gibi <a href=\"https:\/\/cloud.google.com\/sdk\/docs\/quickstarts\" class=\"external-link\">Google Cloud SDK&#8217;y\u0131<\/a><br \/>\n    y\u00fckleyin ve giri\u015f yap\u0131n.\n  <\/li>\n<li>\n    Rendertron deposunu GitHub&#8217;dan \u015fu komutla klonlay\u0131n:<\/p>\n<div><\/div>\n<\/li>\n<li>\n    Ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fcklemek ve Rendertron&#8217;u bilgisayar\u0131n\u0131zda derlemek i\u00e7in \u015fu komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<div><\/div>\n<\/li>\n<li>\n    Rendertron dizininde <code>config.json<\/code> ad\u0131nda yeni bir dosya olu\u015fturarak Rendertron&#8217;un \u00f6nbelle\u011fini etkinle\u015ftirin:<\/p>\n<div><\/div>\n<\/li>\n<li>\n    Rendertron dizininden \u015fu komutu \u00e7al\u0131\u015ft\u0131r\u0131n. 1. ad\u0131mdaki proje kimli\u011finizle<br \/>\n    <code><var>YOUR_PROJECT_ID<\/var><\/code> k\u0131sm\u0131n\u0131 de\u011fi\u015ftirin.<\/p>\n<div><\/div>\n<\/li>\n<li>Se\u00e7ti\u011finiz bir b\u00f6lgeyi se\u00e7in ve da\u011f\u0131t\u0131m\u0131 onaylay\u0131n. Bitmesini bekleyin.<\/li>\n<li>URL&#8217;yi girin: <code><var>YOUR_PROJECT_ID<\/var>.appspot.com<\/code>. Bir giri\u015f alan\u0131 ve birka\u00e7 d\u00fc\u011fme i\u00e7eren Rendertron aray\u00fcz\u00fcn\u00fc g\u00f6rmelisiniz.\n  <\/li>\n<\/ol>\n<p><img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-2c854b8f12f4.png\" loading=\"lazy\" alt=\"Rendertron&apos;s UI after deploying to Google Cloud Platform\"><\/p>\n<p>\n  Rendertron web aray\u00fcz\u00fcn\u00fc g\u00f6rd\u00fc\u011f\u00fcn\u00fczde, kendi Rendertron \u00f6rne\u011finizi ba\u015far\u0131yla da\u011f\u0131tm\u0131\u015fs\u0131n\u0131z demektir. Projenizin URL&#8217;sini (<code><var>YOUR_PROJECT_ID<\/var>.appspot.com<\/code>) not edin, \u00e7\u00fcnk\u00fc i\u015flemin bir sonraki b\u00f6l\u00fcm\u00fcnde buna ihtiyac\u0131n\u0131z olacak.\n<\/p>\n<h2 id=\"add-rendertron-to-the-server\" tabindex=\"-1\">Rendertron&#8217;u sunucuya ekleyin<\/h2>\n<p>\n  Web sunucusu <code>express.js<\/code> kullan\u0131yor ve Rendertron&#8217;un bir <code>express.js<\/code><br \/>\n  ara yaz\u0131l\u0131m\u0131 var. \u015eu komutu <code>server.js<\/code> dosyas\u0131n\u0131n bulundu\u011fu dizinde \u00e7al\u0131\u015ft\u0131r\u0131n:\n<\/p>\n<div><\/div>\n<p>\n  Bu komut, sunucuya ekleyebilmemiz i\u00e7in rendertron-middleware&#8217;i npm&#8217;den y\u00fckler:\n<\/p>\n<div><\/div>\n<h2 id=\"configure-the-bot-list\" tabindex=\"-1\">Bot listesini yap\u0131land\u0131r\u0131n<\/h2>\n<p>\n  Rendertron, bir iste\u011fin bir bottan m\u0131 yoksa kullan\u0131c\u0131n\u0131n taray\u0131c\u0131s\u0131ndan m\u0131 geldi\u011fini belirlemek i\u00e7in <code>user-agent<\/code> HTTP ba\u015fl\u0131\u011f\u0131n\u0131 kullan\u0131r. Kar\u015f\u0131la\u015ft\u0131rma yapmak i\u00e7in<br \/>\n  <a href=\"https:\/\/github.com\/GoogleChrome\/rendertron\/blob\/30446bd7caae87de9fcd8c8263b588c350130852\/middleware\/src\/middleware.ts#L24-L41\" class=\"external-link\">iyi korunmu\u015f bir bot kullan\u0131c\u0131 arac\u0131s\u0131 listesine<\/a><br \/>\n  sahiptir. Varsay\u0131lan olarak bu liste Googlebot&#8217;u i\u00e7ermez, \u00e7\u00fcnk\u00fc Googlebot JavaScript \u00e7al\u0131\u015ft\u0131rabilir. Rendertron&#8217;un Googlebot isteklerini de olu\u015fturmas\u0131n\u0131 sa\u011flamak i\u00e7in Googlebot&#8217;u kullan\u0131c\u0131 arac\u0131lar\u0131 listesine ekleyin:\n<\/p>\n<div><\/div>\n<p>\n  Rendertron, <code>user-agent<\/code> ba\u015fl\u0131\u011f\u0131n\u0131 daha sonra bu d\u00fczenli ifadeyle kar\u015f\u0131la\u015ft\u0131r\u0131r.\n<\/p>\n<h2 id=\"add-the-middleware\" tabindex=\"-1\">Ara yaz\u0131l\u0131m\u0131 ekleyin<\/h2>\n<p>\n  Bot isteklerini Rendertron \u00f6rne\u011fine g\u00f6ndermek i\u00e7in ara yaz\u0131l\u0131m\u0131<br \/>\n  <code>express.js<\/code> sunucumuza eklememiz gerekir. Ara yaz\u0131l\u0131m, istekte bulunan kullan\u0131c\u0131 arac\u0131s\u0131n\u0131 kontrol eder ve bilinen botlardan gelen istekleri Rendertron \u00f6rne\u011fine iletir. A\u015fa\u011f\u0131daki kodu server.js&#8217;ye ekleyin ve <code><var>YOUR_PROJECT_ID<\/var><\/code> k\u0131sm\u0131n\u0131 Google Cloud Platform proje kimli\u011finizle de\u011fi\u015ftirmeyi unutmay\u0131n:\n<\/p>\n<div><\/div>\n<p>\n  \u00d6rnek web sitesini isteyen botlar, statik HTML&#8217;yi Rendertron&#8217;dan al\u0131r, b\u00f6ylece botlar\u0131n i\u00e7eri\u011fi g\u00f6r\u00fcnt\u00fclemek i\u00e7in JavaScript \u00e7al\u0131\u015ft\u0131rmas\u0131na gerek kalmaz.\n<\/p>\n<h2 id=\"testing-our-setup\" tabindex=\"-1\">Kurulumumuzu test etme<\/h2>\n<p>\n  Rendertron kurulumunun ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 test etmek i\u00e7in Mobil Uyumluluk Testini tekrar \u00e7al\u0131\u015ft\u0131r\u0131n.\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-43c1cdc766c1.png\" loading=\"lazy\" alt=\"The Mobile-Friendly Test shows that the page is mobile-friendly and the screenshot now has\n          all the missing cats!\"><\/p>\n<p>\n  \u0130lk testin aksine, kedi resimleri g\u00f6r\u00fcn\u00fcr durumdad\u0131r. HTML sekmesinde, JavaScript kodunun olu\u015fturdu\u011fu t\u00fcm HTML&#8217;yi ve Rendertron&#8217;un i\u00e7eri\u011fi g\u00f6r\u00fcnt\u00fclemek i\u00e7in JavaScript ihtiyac\u0131n\u0131 ortadan kald\u0131rd\u0131\u011f\u0131n\u0131 g\u00f6rebiliriz.\n<\/p>\n<h2 id=\"conclusion\" tabindex=\"-1\">Sonu\u00e7<\/h2>\n<p>\n  Web uygulamas\u0131nda herhangi bir de\u011fi\u015fiklik yapmadan bir dinamik olu\u015fturma kurulumu olu\u015fturdunuz. Bu de\u011fi\u015fikliklerle, taray\u0131c\u0131lara web uygulamas\u0131n\u0131n statik bir HTML s\u00fcr\u00fcm\u00fcn\u00fc sunabilirsiniz.\n<\/p>\n<p class=\"byline-author\">Yazan: <a href=\"https:\/\/developers.google.com\/search\/blog\/authors\/martin-splitt\">Martin Splitt<\/a>, Open Web Unicorn<\/p>\n","protected":false},"excerpt":{"rendered":"<p>31 Ocak 2019, Per\u015fembe Bir\u00e7ok \u00f6n u\u00e7 \u00e7er\u00e7evesi, i\u00e7eri\u011fi g\u00f6stermek i\u00e7in JavaScript&#8217;e g\u00fcvenir. Bu, Google&#8217;\u0131n i\u00e7eri\u011finizi dizine eklemesinin veya dizine eklenen i\u00e7eri\u011fi g\u00fcncellemesinin biraz zaman alabilece\u011fi anlam\u0131na gelebilir. Google I\/O&#8217;da tart\u0131\u015ft\u0131\u011f\u0131m\u0131z bir \u00e7\u00f6z\u00fcm yolu bu y\u0131l dinamik olu\u015fturma. Bunu uygulaman\u0131n bir\u00e7ok yolu vard\u0131r. Bu blog yaz\u0131s\u0131, dinamik olu\u015fturman\u0131n bir uygulama \u00f6rne\u011fini g\u00f6stermektedir: Rendertron, ba\u015fs\u0131z Chromium [&hellip;]<\/p>\n","protected":false},"menu_order":82073,"template":"","meta":{"footnotes":""},"ar_kb_kategori":[665],"ar_kb_etiket":[],"class_list":["post-25055","ar_kb","type-ar_kb","status-publish","has-post-thumbnail","hentry","ar_kb_kategori-blog"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/25055","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb"}],"about":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/types\/ar_kb"}],"version-history":[{"count":0,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/25055\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/27188"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=25055"}],"wp:term":[{"taxonomy":"ar_kb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_kategori?post=25055"},{"taxonomy":"ar_kb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_etiket?post=25055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}