{"id":151,"date":"2026-10-23T10:58:42","date_gmt":"2026-10-23T10:58:42","guid":{"rendered":"https:\/\/docs.latw.ai\/uncategorized\/site-unreachable\/"},"modified":"2026-10-23T10:58:42","modified_gmt":"2026-10-23T10:58:42","slug":"site-unreachable","status":"publish","type":"post","link":"https:\/\/docs.latw.ai\/pl\/latw-cloud\/site-unreachable\/","title":{"rendered":"Site Unreachable"},"content":{"rendered":"<p>LATW Cloud reads your content and writes the translations back through the plugin&#8217;s REST API, at<br \/>\n<code>\/wp-json\/latw\/v1\/cloud\/<\/code> (with Drupal and PrestaShop, through the module at <code>\/latw\/v1\/cloud\/<\/code>). When it cannot get through, the site shows as <strong>Unreachable<\/strong> and its<br \/>\njobs wait with <em>Waiting: site unreachable<\/em>. Nothing is lost: LATW Cloud keeps retrying, and the<br \/>\njobs continue as soon as the site answers.<\/p>\n<p><strong>Test connection<\/strong> \u2014 in the site&#8217;s <strong>Settings<\/strong> tab in the panel, or on the plugin&#8217;s settings<br \/>\nscreen in WordPress \u2014 tells you whether the path is open again.<\/p>\n<h2>The usual causes<\/h2>\n<p><strong>A security plugin.<\/strong> Wordfence and similar plugins can block REST API requests from outside.<br \/>\nAllow requests to <code>\/wp-json\/latw\/v1\/cloud\/<\/code>. On Drupal and PrestaShop, a security module or<br \/>\nModSecurity can do the same: allow <code>POST<\/code> requests to <code>\/latw\/v1\/cloud\/<\/code>.<\/p>\n<p><strong>PrestaShop with Friendly URLs off.<\/strong> The module&#8217;s address needs them: turn them on in<br \/>\n<strong>Shop Parameters \u2192 Traffic &amp; SEO<\/strong>.<\/p>\n<p><strong>Cloudflare or another firewall.<\/strong> A WAF rule or bot protection can stop LATW Cloud before it<br \/>\nreaches WordPress. Add an exception for the same path. LATW Cloud has no fixed IP addresses to<br \/>\nallow instead \u2014 but every request on that path is signed with the site&#8217;s secret, and the plugin<br \/>\nrejects any that is not.<\/p>\n<p><strong>Password protection.<\/strong> A site behind basic auth, as staging sites often are, cannot be reached.<\/p>\n<p><strong>A local site.<\/strong> <code>localhost<\/code> or a staging copy on your own computer is not reachable from the<br \/>\ninternet and cannot be connected.<\/p>\n<p><strong>A changed address.<\/strong> After moving the site to another domain, adding or removing <code>www<\/code>, or<br \/>\nswitching from <code>http<\/code> to <code>https<\/code>, connect it again from the plugin.<\/p>\n<p><strong>The site is down or very slow.<\/strong> LATW Cloud asks for a few items at a time and gives each request<br \/>\n20 seconds. A host that cannot answer that fast shows up as unreachable too.<\/p>\n<h2>Connection lost<\/h2>\n<p>If WordPress says <strong>Connection lost<\/strong> on the plugin&#8217;s LATW Cloud settings, the site&#8217;s security keys<br \/>\nin <code>wp-config.php<\/code> changed and the plugin can no longer read its secret. Press <strong>Connect with LATW<\/strong><br \/>\nto connect again; the site keeps its settings in the panel.<\/p>\n<h2>Webflow<\/h2>\n<p>A Webflow site has no plugin and no address of its own to block: LATW Cloud calls the Webflow API<br \/>\nwith the site token. It shows as <strong>Unreachable<\/strong> when:<\/p>\n<ul>\n<li><strong>The token was deleted in Webflow<\/strong>, or Webflow deleted it after a year without use.<\/li>\n<li><strong>The token lacks a scope<\/strong> \u2014 it needs read and write access to Pages, CMS and Components, and<br \/>\nread access to Sites.<\/li>\n<li><strong>Localization was turned off<\/strong>, or the last extra language was removed.<\/li>\n<\/ul>\n<p>Generate a new token in Webflow and paste it in <strong>Settings \u2192 Connection \u2192 Replace token<\/strong>; see<br \/>\n<em>Connecting Webflow<\/em>. Webflow&#8217;s limit of API requests a minute usually only slows a job down:<br \/>\nLATW Cloud waits and continues on its own. When the limit stays reached for minutes, the job waits<br \/>\nlike for an unreachable site and is retried automatically.<\/p>\n<h2>Update required<\/h2>\n<p><strong>Update required<\/strong> is not a network problem: the plugin on the site is too old for LATW Cloud.<br \/>\nUpdate it in <strong>Plugins<\/strong>, and the waiting jobs continue.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LATW Cloud reads your content and writes the translations back through the plugin&#8217;s REST API, at \/wp-json\/latw\/v1\/cloud\/ (with Drupal and PrestaShop, through the module at \/latw\/v1\/cloud\/).\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_latwm_translated_slug":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-151","post","type-post","status-publish","format-standard","hentry","category-latw-cloud"],"_links":{"self":[{"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/posts\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/comments?post=151"}],"version-history":[{"count":2,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/posts\/151\/revisions"}],"predecessor-version":[{"id":173,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/posts\/151\/revisions\/173"}],"wp:attachment":[{"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/media?parent=151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/categories?post=151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/tags?post=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}