← Files Redirect Checker: 301 & StatusARCHIVED FILE
plugin.json
6.75 KB · Nov 3, 2026 · 19:08 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "redirect-checker",
"version": "0.1.0",
"description": "Follow every redirect hop for URLs or a migration redirect map: status codes, chains, loops, 302s that should be 301s, http\u2192https and www consistency, final status, canonical and meta-refresh checks, and pass/fail against expected targets.",
"author": {
"name": "Brightstep Tech Inc.",
"email": "contact@thecvapp.com",
"url": "https://redirects.eralpbayraktar.com/"
},
"license": "MIT",
"keywords": [
"redirect",
"redirect checker",
"301",
"302",
"redirect chain",
"redirect loop",
"redirect map",
"site migration",
"http status code",
"htaccess",
"seo",
"too many redirects"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Redirect Checker: 301 & Status",
"shortDescription": "Check redirects, chains, loops",
"longDescription": "Redirect Checker: 301 & Status follows every redirect of a URL, hop by hop, and shows what really happens: each status code (301, 302, 307, 308), redirect chains and loops, 302s that should be permanent 301s, http\u2192https and www/non-www problems, the final status (200, 404, 410), canonical tags that point elsewhere, and meta-refresh or JavaScript redirects. Paste one URL, a list, or your whole migration redirect map (old URL \u2192 new URL, as CSV, a Shopify redirect export or .htaccess lines) and every row gets a pass or fail against its expected target, up to 200 rows at a time with continuation for longer maps. Results come as a table with a CSV export, and ChatGPT can then write the corrected .htaccess, nginx, Netlify, Vercel or Shopify rules. Requests are made from a server in Frankfurt (EU) with an honest user agent; sites that block automated checkers are labelled as such, not reported as broken. Only public websites can be checked.",
"developerName": "Brightstep Tech Inc.",
"category": "Developer Tools",
"capabilities": [
"Check redirects",
"Check a redirect map"
],
"websiteURL": "https://redirects.eralpbayraktar.com/",
"privacyPolicyURL": "https://redirects.eralpbayraktar.com/privacy",
"termsOfServiceURL": "https://redirects.eralpbayraktar.com/terms",
"defaultPrompt": [
"Check these URLs for redirect chains, loops and 302s that should be 301s",
"Here's my redirect map CSV from the site migration, check every row lands on the right page",
"What HTTP status code does this URL return, and does it redirect?"
],
"brandColor": "#0F766E",
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png",
"supportURL": "https://redirects.eralpbayraktar.com/support"
},
"onboardingSkill": "./skills/get-started/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "Two URLs, one with a two-hop chain",
"prompt": "Check where http://github.com and http://bbc.co.uk/news redirect and flag any chains or 302s",
"tools_triggered": "check_redirects",
"expected_behavior": "Shows a table: http://github.com is one 301 to https://github.com/ (200, pass); http://bbc.co.uk/news is 301 \u2192 301 \u2192 200 via https://bbc.co.uk/news to https://www.bbc.co.uk/news, flagged as a 2-hop chain where http\u2192https and non-www\u2192www happen in separate hops, with the advice to redirect in one hop."
},
{
"description": "Temporary redirect chain with per-hop codes",
"prompt": "How many hops does https://httpbin.org/redirect/3 take and what status code is each one?",
"tools_triggered": "check_redirects",
"expected_behavior": "Reports three 302 redirects (/redirect/3 \u2192 /relative-redirect/2 \u2192 /relative-redirect/1 \u2192 /get) and a final 200, flags the chain and that 302 is temporary (use 301/308 for a permanent move)."
},
{
"description": "Migration map pass/fail",
"prompt": "Here's my redirect map from the migration, check every row lands on the right page:\nhttp://github.com -> https://github.com/\nhttp://bbc.co.uk/news -> https://www.bbc.co.uk/news\nhttp://github.com/about -> https://github.com/pricing",
"tools_triggered": "check_redirect_map",
"expected_behavior": "Checks all three rows: row 1 passes, row 2 lands on the expected URL but through a 2-hop chain (warning), row 3 fails because it lands on https://github.com/about, not the expected https://github.com/pricing. Offers to write fix rules."
},
{
"description": "HTTPS question, no redirect",
"prompt": "Does http://www.google.com redirect to https?",
"tools_triggered": "check_redirects",
"expected_behavior": "Reports that http://www.google.com answers 200 directly with no redirect, so it stays on plain http, and flags the missing http\u2192https redirect."
},
{
"description": "302 vs 301 for SEO on a live URL",
"prompt": "Is the redirect on https://httpbin.org/redirect-to?url=https%3A%2F%2Fexample.com%2F&status_code=302 bad for SEO?",
"tools_triggered": "check_redirects",
"expected_behavior": "Shows one 302 hop to https://example.com/ (final 200) and explains that 302 is a temporary redirect; for a permanent move it should be 301 or 308."
}
],
"negative": [
{
"description": "General knowledge, no URL to check",
"prompt": "What's the difference between a 301 and a 302 redirect?"
},
{
"description": "Writing rules without a live check",
"prompt": "Write an nginx rule that redirects /old-blog/anything to /blog/anything"
},
{
"description": "Unrelated SEO audit",
"prompt": "Write better meta descriptions for my bakery's homepage"
}
]
},
"demo_recording_url": "https://redirects.eralpbayraktar.com/demo.mp4",
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments."
},
"publication": {
"release_notes": "Initial release: follow every redirect hop for up to 200 URLs or redirect-map rows per call; status codes, chains, loops, temporary redirects, http\u2192https and www checks, final status, canonical, meta-refresh and JavaScript redirects, pass/fail against expected targets, CSV export."
},
"apps": "./.app.json"
}
},
"homepage": "https://redirects.eralpbayraktar.com/"
}
SHA-256: b7232932825aa0a49a04dd71f037823da1f79cc06057e4edac31a97a16e1fc70