# Validate Website Redirects & Canonicals

**Use case:** 

Check URL migration mappings for redirect targets, final HTTP status, and canonical mismatches. Paste a CSV and get clear QA actions.

## Input

```json
{
  "urlMappings": [
    {
      "sourceUrl": "https://example.com/",
      "expectedTargetUrl": "https://example.com/"
    }
  ],
  "urlMappingsCsv": "sourceUrl,expectedTargetUrl\nhttps://old.example.com/product-a,https://www.example.com/product-a",
  "maxUrls": 1,
  "maxConcurrency": 1,
  "requestTimeoutSecs": 15
}
```

## Output

```json
{
  "sourceUrl": {
    "label": "Source URL",
    "format": "string"
  },
  "expectedTargetUrl": {
    "label": "Expected target",
    "format": "string"
  },
  "finalUrl": {
    "label": "Final URL",
    "format": "string"
  },
  "finalStatus": {
    "label": "Final HTTP status",
    "format": "integer"
  },
  "redirectCount": {
    "label": "Redirect hops",
    "format": "integer"
  },
  "finalCanonicalUrl": {
    "label": "Final canonical URL",
    "format": "string"
  },
  "finalCanonicalMatchesFinalUrl": {
    "label": "Canonical matches final URL",
    "format": "boolean"
  },
  "expectedTargetMatchesFinalUrl": {
    "label": "Expected target matches final URL",
    "format": "boolean"
  },
  "expectedTargetMatchesCanonical": {
    "label": "Expected target matches canonical",
    "format": "boolean"
  },
  "verdict": {
    "label": "Migration QA verdict",
    "format": "string"
  },
  "issues": {
    "label": "Issues",
    "format": "array"
  },
  "recommendations": {
    "label": "Recommended next actions",
    "format": "array"
  },
  "checkedAt": {
    "label": "Checked at",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Redirect & Canonical Destination Validator](https://apify.com/x2ppi/redirect-canonical-destination-validator) with a specific input configuration. Visit the [Actor detail page](https://apify.com/x2ppi/redirect-canonical-destination-validator) to learn more, explore other use cases, and run it yourself.