{"id":39308,"date":"2016-08-26T13:21:15","date_gmt":"2016-08-26T07:51:15","guid":{"rendered":"https:\/\/2thenew.today\/blog\/?p=39308"},"modified":"2016-08-26T16:31:49","modified_gmt":"2016-08-26T11:01:49","slug":"url-handling-in-multilingual-sites","status":"publish","type":"post","link":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/","title":{"rendered":"URL handling in Multilingual Sites"},"content":{"rendered":"<p>A multilingual website is any website that offers content in more than one language.<\/p>\n<p>Some concerns for building a multilingual websites are :<\/p>\n<ol>\n<li>We should first think of how translations will be managed, whether it will be dynamic or static. For static we can use <a title=\"angular-translate\" href=\"https:\/\/2thenew.today\/blog\/internationalization-with-angularjs\/\">angular-translate<\/a> &amp; for dynamic we can think of <a title=\"google-translate\" href=\"https:\/\/2thenew.today\/blog\/internationalize-your-website-in-10-minutes\/\">google translate<\/a>.<\/li>\n<li>Right-to-Left languages completely alters original design as we are used Left-to-Right languages.<\/li>\n<li>If we are using non-english Url\u2019s, we should use UTF-8<\/li>\n<li>URL structure also needs to be considered so that user can instantly know he is on right page.<\/li>\n<\/ol>\n<p>In this blog, we will talk on URL structure, which can be<br \/>\nE.g :<\/p>\n<p>1) example.com\/about?lang=en<br \/>\n2) example.com\/en\/about<br \/>\n3) en.example.com\/about<\/p>\n<p>As 2nd type of url is widely used &amp; behaves <a title=\"SEO services\" href=\"https:\/\/2thenew.today\/digital-marketing\/search-marketing\">better in terms of SEO<\/a>, we will working on generating the 2nd type of URL .<\/p>\n<p>We have to manage language in URL in all states in our web app, nested states is the key to introducing language as a URL variable to all states. We start off by creating the \u2018home\u2019 state that every other state will be child of.<\/p>\n<p>[html]<br \/>\nangular<br \/>\n    .module(&#8216;dtWebApp&#8217;)<br \/>\n    .config(routerConfig);<\/p>\n<p>\/** @ngInject *\/<br \/>\nfunction routerConfig($stateProvider, $urlRouterProvider) {<br \/>\n    $stateProvider<br \/>\n        .state(&#8216;home&#8217;, {<br \/>\n            url: &#8216;\/:activeLang&#8217;, \/\/ here we have activeLang as $stateParams<br \/>\n            template: &#8221;,<br \/>\n            controller: &#8216;HomeController&#8217;,<br \/>\n            controllerAs: &#8216;home&#8217;<br \/>\n        })<br \/>\n        .state(&#8216;home.default&#8217;, {<br \/>\n            url: &#8216;\/?utm_source?utm_medium?utm_term?utm_content?utm_campaign&#8217;,<br \/>\n            templateUrl: &#8216;app\/main\/main.html&#8217;,<br \/>\n            controller: &#8216;MainController&#8217;,<br \/>\n            controllerAs: &#8216;main&#8217;<br \/>\n        })<br \/>\n        .state(&#8216;home.aboutDoTrips&#8217;, {<br \/>\n            url: &#8216;\/about-us\/&#8217;,<br \/>\n            controller: &#8216;AboutDoTrips&#8217;,<br \/>\n            controllerAs: &#8216;aboutus&#8217;,<br \/>\n            templateUrl: &#8216;app\/aboutdotrips\/experienceListing.html&#8217;<br \/>\n        });<\/p>\n<p>}[\/html]<\/p>\n<p>Now in the Home Controller, we can get $stateParams where you can check if the activeLang param is valid or not if it is not valid you can redirect to home default state with default preferred language &amp; if it valid you can use it to get valid multilingual translations for web apps.<\/p>\n<p>[html]<br \/>\nangular<br \/>\n    .module(&#8216;dtWebApp&#8217;)<br \/>\n    .controller(&#8216;HomeController&#8217;, HomeController); <\/p>\n<p>\/** @ngInject *\/<br \/>\nfunction HomeController($translate, $state, $stateParams) {<\/p>\n<p>\/\/getting preferred language<\/p>\n<p>var activeLanguage = $translate.use() || $translate.storage().get($translate.storageKey()) || $translate.preferredLanguage();<\/p>\n<p>console.log(&quot;from url &quot; + $stateParams.activeLang + &quot; localstorage &quot; + activeLanguage);<br \/>\nvar validLangs = [&#8216;ar&#8217;, &#8216;en&#8217;];<\/p>\n<p>if ($stateParams.activeLang == &#8221; || $stateParams.activeLang == &#8216;:activeLang&#8217; || validLangs.indexOf($stateParams.activeLang) == -1) {<br \/>\n        $state.go($state.current, {<br \/>\n            activeLang: activeLanguage<br \/>\n        }, {<br \/>\n            reload: true<br \/>\n        });<br \/>\n    } else {<br \/>\n        $translate.use($stateParams.activeLang);<br \/>\n        if ($state.is(&#8216;home&#8217;)) {<br \/>\n            $state.go(&#8216;home.default&#8217;);<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n[\/html]<\/p>\n<p>When ever there will language change, suppose a function is called from which you can change language so corresponding to it URL should also change, you can do this by<\/p>\n<p>[html]<br \/>\n\/**Changing language only if previous &amp;amp; current selection is not same****\/<br \/>\nctrl.changeLanguage = function(newObj, oldObj) {<br \/>\n    if (newObj !== oldObj) {<br \/>\n        $translate.use(newObj);<br \/>\n    }<br \/>\n};<br \/>\n\/**After Success translate Change ,we can go to current state with valid activeLang which will change url ****\/<br \/>\n$rootScope.$on(&#8216;$translateChangeSuccess&#8217;, function(event, data) {<br \/>\n    var language = data.language;<br \/>\n    $state.go($state.current, {<br \/>\n        activeLang: language<br \/>\n    });<br \/>\n});[\/html]<\/p>\n<p>In this way using angular-translate, we can handle the multilingual URLs in web apps. Also one more thing it is recommended that we should provide unique content for different URLs, although we understand that it might not be possible always.<\/p>\n<p>Hope you like this blog, let me know in comments below.<\/p>\n<p>Happy Coding \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A multilingual website is any website that offers content in more than one language. Some concerns for building a multilingual websites are : We should first think of how translations will be managed, whether it will be dynamic or static. For static we can use angular-translate &amp; for dynamic we can think of google translate. [&hellip;]<\/p>\n","protected":false},"author":967,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":2,"footnotes":""},"categories":[1439,3429,1],"tags":[4849],"class_list":["post-39308","post","type-post","status-publish","format-standard","hentry","category-angular","category-front-end-development","category-technology","tag-angular"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"-multilingual url Handling -multilingual url structuring\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Rajan Singh\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"URL handling in Multilingual Sites | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"-multilingual url Handling -multilingual url structuring\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"URL handling in Multilingual Sites | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"-multilingual url Handling -multilingual url structuring\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#article\",\"name\":\"URL handling in Multilingual Sites | TO THE NEW Blog\",\"headline\":\"URL handling in Multilingual Sites\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/rajan-singh\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2016-08-26T13:21:15+05:30\",\"dateModified\":\"2016-08-26T16:31:49+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#webpage\"},\"articleSection\":\"AngularJS, Front End Development, Technology, AngularJS\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#listItem\",\"name\":\"URL handling in Multilingual Sites\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#listItem\",\"position\":3,\"name\":\"URL handling in Multilingual Sites\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/rajan-singh\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/rajan-singh\\\/\",\"name\":\"Rajan Singh\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/c25695fc-c522-45b4-940d-39e3de13b9cf_rajan.singh@tothenew.com.jpg\",\"width\":96,\"height\":96,\"caption\":\"Rajan Singh\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/\",\"name\":\"URL handling in Multilingual Sites | TO THE NEW Blog\",\"description\":\"-multilingual url Handling -multilingual url structuring\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/url-handling-in-multilingual-sites\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/rajan-singh\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/rajan-singh\\\/#author\"},\"datePublished\":\"2016-08-26T13:21:15+05:30\",\"dateModified\":\"2016-08-26T16:31:49+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"URL handling in Multilingual Sites | TO THE NEW Blog","description":"-multilingual url Handling -multilingual url structuring","canonical_url":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#article","name":"URL handling in Multilingual Sites | TO THE NEW Blog","headline":"URL handling in Multilingual Sites","author":{"@id":"https:\/\/2thenew.today\/blog\/author\/rajan-singh\/#author"},"publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"},"datePublished":"2016-08-26T13:21:15+05:30","dateModified":"2016-08-26T16:31:49+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#webpage"},"articleSection":"AngularJS, Front End Development, Technology, AngularJS"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.today\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/2thenew.today\/blog\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#listItem","name":"URL handling in Multilingual Sites"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#listItem","position":3,"name":"URL handling in Multilingual Sites","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.today\/blog\/category\/technology\/#listItem","name":"Technology"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.today\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.today\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.today\/blog\/author\/rajan-singh\/#author","url":"https:\/\/2thenew.today\/blog\/author\/rajan-singh\/","name":"Rajan Singh","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/c25695fc-c522-45b4-940d-39e3de13b9cf_rajan.singh@tothenew.com.jpg","width":96,"height":96,"caption":"Rajan Singh"}},{"@type":"WebPage","@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#webpage","url":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/","name":"URL handling in Multilingual Sites | TO THE NEW Blog","description":"-multilingual url Handling -multilingual url structuring","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.today\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.today\/blog\/author\/rajan-singh\/#author"},"creator":{"@id":"https:\/\/2thenew.today\/blog\/author\/rajan-singh\/#author"},"datePublished":"2016-08-26T13:21:15+05:30","dateModified":"2016-08-26T16:31:49+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.today\/blog\/#website","url":"https:\/\/2thenew.today\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.today\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"URL handling in Multilingual Sites | TO THE NEW Blog","og:description":"-multilingual url Handling -multilingual url structuring","og:url":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/","og:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"URL handling in Multilingual Sites | TO THE NEW Blog","twitter:description":"-multilingual url Handling -multilingual url structuring","twitter:image":"https:\/\/2thenew.today\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"39308","title":null,"description":"-multilingual url Handling\r\n-multilingual url structuring","keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"","og_description":"","og_object_type":"blog","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"","og_article_tags":"","twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 14:24:23","updated":"2024-02-29 09:11:25","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.today\/blog\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tURL handling in Multilingual Sites\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.today\/blog"},{"label":"Technology","link":"https:\/\/2thenew.today\/blog\/category\/technology\/"},{"label":"URL handling in Multilingual Sites","link":"https:\/\/2thenew.today\/blog\/url-handling-in-multilingual-sites\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/39308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/users\/967"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/comments?post=39308"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/posts\/39308\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/media?parent=39308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/categories?post=39308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.today\/blog\/wp-json\/wp\/v2\/tags?post=39308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}