Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Кол-во редиректов для файла robots.txt 3 слишком большое! Это может вызывать затруднение при индексации поисковыми роботами!
Проверяемая страница не запрещена в robots.txt.
Цепочка редиректов для файла robots.txt:
http://developers.rakutenadvertising.com/robots.txt
301 MovedPermanently
https://developers.rakutenadvertising.com/robots.txt
302 Found
https://developers.rakutenadvertising.com/
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html>
<head>
<title></title>
<base href="/" />
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin />
<link
href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css?family=Roboto Mono:300,300i,400,400i,500,500i,700,700i&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css?family=Lato:300,300i,400,400i,500,500i,700,700i&display=swap"
rel="stylesheet"
/>
<style>
/* Values */
:root {
--accent: #dde2e6;
--button_primary_fill_hover: #b21111;
--text_primary: #596b74;
--page: #ffffff;
--button_secondary_fill_hover: #4e23ab;
--text_secondary: #8c8c8c;
--button_primary_fill: #de1515;
--button_secondary_text_hover: #ffffff;
--header: #ffffff;
--text_hero: #ffffff;
--button_secondary_fill: #ffffff;
--button_primary_text: #ffffff;
--hero: #003459;
--button_secondary_text: #4e23ab;
--text_headings: #391a7c;
--button_secondary_border: #4e23ab;
--text_links: #b5253e;
--footer: #f7f9fa;
--catalog_text_links: #3b474d;
}
/* Utilities */
.color-accent {
color: var(--accent);
}
.bg-accent {
background-color: var(--accent);
}
.color-button_primary_fill_hover {
color: var(--button_primary_fill_hover);
}
.bg-button_primary_fill_hover {
background-color: var(--button_primary_fill_hover);
}
.color-text_primary {
color: var(--text_primary);
}
.bg-text_primary {
background-color: var(--text_primary);
}
.color-page {
color: var(--page);
}
.bg-page {
background-color: var(--page);
}
.color-button_secondary_fill_hover {
color: var(--button_secondary_fill_hover);
}
.bg-button_secondary_fill_hover {
background-color: var(--button_secondary_fill_hover);
}
.color-text_secondary {
color: var(--text_secondary);
}
.bg-text_secondary {
background-color: var(--text_secondary);
}
.color-button_primary_fill {
color: var(--button_primary_fill);
}
.bg-button_primary_fill {
background-color: var(--button_primary_fill);
}
.color-button_secondary_text_hover {
color: var(--button_secondary_text_hover);
}
.bg-button_secondary_text_hover {
background-color: var(--button_secondary_text_hover);
}
.color-header {
color: var(--header);
}
.bg-header {
background-color: var(--header);
}
.color-text_hero {
color: var(--text_hero);
}
.bg-text_hero {
background-color: var(--text_hero);
}
.color-button_secondary_fill {
color: var(--button_secondary_fill);
}
.bg-button_secondary_fill {
background-color: var(--button_secondary_fill);
}
.color-button_primary_text {
color: var(--button_primary_text);
}
.bg-button_primary_text {
background-color: var(--button_primary_text);
}
.color-hero {
color: var(--hero);
}
.bg-hero {
background-color: var(--hero);
}
.color-button_secondary_text {
color: var(--button_secondary_text);
}
.bg-button_secondary_text {
background-color: var(--button_secondary_text);
}
.color-text_headings {
color: var(--text_headings);
}
.bg-text_headings {
background-color: var(--text_headings);
}
.color-button_secondary_border {
color: var(--button_secondary_border);
}
.bg-button_secondary_border {
background-color: var(--button_secondary_border);
}
.color-text_links {
color: var(--text_links);
}
.bg-text_links {
background-color: var(--text_links);
}
.color-footer {
color: var(--footer);
}
.bg-footer {
background-color: var(--footer);
}
.color-catalog_text_links {
color: var(--catalog_text_links);
}
.bg-catalog_text_links {
background-color: var(--catalog_text_links);
}
/* Font Families */
body {
font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI",
Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol";
}
pre,
code,
kbd {
font-family: inherit;
font-family: "Roboto Mono";
}
h1,
h2,
h2,
h3,
h4,
h5,
h6 {
font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol";
}
</style>
<link href="stylesheets/bp2/2.568e2e57.chunk.css" rel="stylesheet" />
<link href="stylesheets/site.css" rel="stylesheet" />
<link rel="shortcut icon" href="" type="image/x-icon" />
<!-- TODO -->
<!-- {* blocks.page_css *} -->
<!-- Full Story script / identify user session -->
<!-- <script src="javascripts/fullstory.js"></script>
<script>
let custom_id = '';
let email = '';
FS.identify(custom_id, {
email: email,
custom_id: email
});
</script> -->
<!-- Global site tag (gtag.js) - Google Analytics
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-178604643-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-178604643-1');
</script> -->
</head>
<body>
<div class="homepage">
<header class="site-header">
<div
class="w-full block flex-grow justify-between flex items-center w-auto p-6"
>
<div>
<div>
<a href="">
<img
class="h-12"
src="https://storage.googleapis.com/devportal-prod/RakutenAdvertising-Horiz-COLOR-1000x170.png"
alt=""
/>
</a>
</div>
</div>
<div>
<nav role="navigation">
<input type="checkbox" id="header_nav" class="menu-toggle-checkbox" />
<li>
<a
data-i18n="header.navbar.link_0"
id="api_url"
class="external-ref"
target="_blank"
href=""
></a>
</li>
<li>
<a data-i18n="header.navbar.link_1" href="guides/try_out_apis"></a>
</li>
<li>
<form class="nav-form" id="login" data-type="openid-connect">
<p class="form-error-message toggle-content"></p>
<button
data-i18n="header.navbar.login"
id="login-button"
class="nav-button btn btn-secondary"
type="submit"
></button>
</form>
</li>
</nav>
</div>
</div>
</header>
<script type="text/javascript">
window.addEventListener("load", function () {
var $FORM = $("#login");
var $FORM_ERROR = $FORM.find(".form-error-message");
// Submission variables
var baseApiUrl = window.Kong.getApiUrl();
var redirectTo = Kong.Auth.getRedirectTo("https://developers.rakutenadvertising.com/auth/callback");
// Handle form state
var onSubmit = function () {
$FORM_ERROR.removeClass("is-visible").html("");
Kong.Auth.loginWithOpenIdConnect({
loginEndpoint: "/auth",
redirectTo: redirectTo,
});
};
var onError = function (data) {
$FORM_ERROR
.addClass("is-visible")
.html(
data.message || "An unexpected error occurred. Please try again."
);
};
// Handle form button press
$FORM.on("submit", function (event) {
event.preventDefault();
onSubmit();
});
});
</script>
<div class="page">
<section class="homepage-hero">
<div class="hero-header">
<span id="main-title" data-i18n="home-title"></span>
<p data-i18n="home-tagline"></p>
<p data-i18n="home-tagline-2"></p>
<p data-i18n="home-tagline-3"></p>
</div>
</section>
<section class="homepage-catalog">
<div class="catalog-list">
<a
id="catalog_doc"
href=""
target="_blank"
class="catalog-item toggle-content is-visible"
>
<div data-i18n="cards.affiliate_apis.logo" class="catalog-logo"></div>
<div class="catalog-details">
<span
data-i18n="cards.affiliate_apis.title"
class="catalog-title"
></span>
<p
data-i18n="cards.affiliate_apis.description"
class="catalog-desc"
></p>
</div>
</a>
<a
href="/guides/access_tokens"
class="catalog-item toggle-content is-visible"
>
<div data-i18n="cards.token_docs.logo" class="catalog-logo"></div>
<div class="catalog-details">
<span data-i18n="cards.token_docs.title" class="catalog-title"></span>
<p data-i18n="cards.token_docs.description" class="catalog-desc"></p>
</div>
</a>
</div>
</section>
<script type="text/javascript">
window.addEventListener("load", function () {
let locale;
var workspace = "default";
var environment = "production";
var forceJALang = workspace === "jp";
if (forceJALang) {
locale = "ja";
} else {
if (i18next.language === undefined) {
locale = window.navigator.userLanguage || window.navigator.language;
} else {
locale = i18next.language;
}
}
let docAnchor = document.getElementById("catalog_doc");
docAnchor.href = `/documentation/${locale}/affiliate_apis`;
});
</script>
<section class="homepage-clients">
<span data-i18n="adv_section.title" id="adv-title"></span>
<p data-i18n="adv_section.content"></p>
<div class="homepage-clients flex flex-wrap mx-6 my-12">
<div class="client flex-1">
<img src="https://storage.googleapis.com/devportal-prod/advertiser%20assets/sephora2.png" alt="Sephora">
</div>
<div class="client flex-1">
<img src="https://storage.googleapis.com/devportal-prod/advertiser%20assets/bmw.svg" alt="BMW">
</div>
<div class="client flex-1">
<img src="https://storage.googleapis.com/devportal-prod/advertiser%20assets/ikea.png" alt="Ikea">
</div>
<div class="client flex-1">
<img src="https://storage.googleapis.com/devportal-prod/advertiser%20assets/net-a-porter.png" alt="Net-A-Porter">
</div>
<div class="client flex-1">
<img src="https://storage.googleapis.com/devportal-prod/advertiser%20assets/worldtennis.jpg" alt="World Tennis">
</div>
<div class="client flex-1">
<img src="https://storage.googleapis.com/devportal-prod/advertiser%20assets/yoox2.png" alt="Yoox">
</div>
</div>
</section>
</div>
<footer class="site-footer">
<div class="w-full block flex-grow justify-between flex items-center w-auto p-6">
<div class="footer-register">
<span data-i18n="footer.content"></span>
<a data-i18n="footer.link" href=https://signup.linkshare.com/publishers/registration/landing?ls-locale=us&host=linkshare>
</a>
</div>
<div id="copyright">
© 2026
<span data-i18n="footer.copyrite"></span>
</div>
</div>
</footer> </div>
<script src="javascripts/third-party/jquery.min.js"></script>
<script src="javascripts/i18next.min.js"></script>
<script src="javascripts/i18next-browser-language-detector.min.js"></script>
<script src="javascripts/i18next-http-backend.min.js"></script>
<script src="javascripts/kong/kong.js"></script>
<script src="javascripts/kong/kong.utils.js"></script>
<script src="javascripts/kong/kong.auth.js"></script>
<!-- {# kong-react-dashboard #} -->
<script src="javascripts/third-party/react.min.js"></script>
<script>
// Build API url when not set
// /!\ If using subdomains, please set PORTAL_API_URL in `kong.conf`. /!\
window.Kong.getApiUrl = window.Kong.Utils.getApiUrl = function () {
let url = "https://developers.rakutenadvertising.com";
if (!url) {
throw Error(
"PortalUrl is not set but is required to create ApiUrl. Check configuration."
);
}
return url;
};
window.Kong.getOidcIssuerUrl = window.Kong.Utils.getOidcIssuerUrl =
function () {
let url = "";
if (!url) {
throw Error(
"OIDC Issuer Url is not set but is required to authenticate. Check configuration."
);
}
return url;
};
// Get portal authentication type
window.Kong.Utils.getAuthType = function () {
return "openid-connect";
};
var workspace = "default";
var environment = "production";
var forceJALang = workspace === "jp";
$(document).ready(() => {
const renderLanguage = (t) => {
document.getElementById(
"api_url"
).href = `documentation/${i18next.language}/affiliate_apis`;
$("*[data-i18n]").each((index, elem) => {
var elem = $(elem);
elem.text(t(elem.attr("data-i18n")));
});
$(`.lang-switcher-item[data-lang='${i18next.language}']`)
.addClass("active")
.siblings()
.removeClass("active");
};
var options = {
order: ["navigator"],
};
let specFile, translated;
let fileName = "translations";
let currentPath = window.location.pathname.split("/");
const translatedLangs = ["en-US", "ja"];
const fallbackLng = "en-US";
// guides and references refer to staic html+json
if (currentPath.includes("reference")) {
fileName = `guides/${currentPath[currentPath.length - 2]}`;
} else if (currentPath.includes("guides")) {
fileName = `guides/${currentPath[currentPath.length - 1]}`;
// documentation refers to yaml spec files
} else if (currentPath.includes("documentation")) {
specFile = currentPath[currentPath.length - 1];
translated = currentPath[currentPath.length - 2];
} else if (currentPath.includes("legacy")) {
forceJALang =
window.navigator.userLanguage || window.navigator.language === "ja";
}
let translationsPath = `/locales/[[lng]]/${fileName}.json`;
const languageDetector = new i18nextBrowserLanguageDetector();
const languageFiles = new i18nextHttpBackend();
languageDetector.init(options);
i18next.use(languageDetector);
i18next.use(languageFiles);
i18next
.init({
lng: forceJALang ? "ja" : fallbackLng,
debug: true,
fallbackLng: fallbackLng,
ns: ["translation"],
defaultNS: "translation",
backend: {
loadPath: function (lng, ns) {
return translationsPath.replace("[[lng]]", lng);
},
},
// Cache options to prevent browser caching
useLocalStorage: false,
storeApi: null,
initImmediate: true,
// Additional options to ensure fresh content
saveMissing: false,
returnNull: false,
returnObjects: false
})
.then(renderLanguage);
// Only show language switcher for JP workspace (not for default workspace)
if (forceJALang) {
$(".guide-title").after(`
<div class='lang-switcher'>
<button data-lang="en-US" class="lang-switcher-item">EN</button>
<button data-lang="ja" class="lang-switcher-item">JA</button>
</div>
`);
$(".lang-switcher-item").on("click", function () {
const lang = $(this).attr("data-lang");
i18next.changeLanguage(lang).then(renderLanguage);
});
}
});
</script>
<!-- needed by dashboard scripts -->
<!-- {# /!\ REQUIRED SCRIPTS. REMOVE / EDIT AT OWN RISK. /!\ #} -->
<script src="javascripts/kongponents-44b7b4e.min.js"></script>
</body>
</html>