feat(library): add static pagination and page-one redirects

This commit is contained in:
DeCentN2Madness committed 2026-10-09 20:00:26 -07:00
1 parent b20c253383
commit 6f5ac3c0d2
18 files changed
+895 -45

No files matched your search

+216
View File
@@ -2429,3 +2429,219 @@ New files:
3. Pagination, page-1 redirect rules, noindex author archives, eventual author 3. Pagination, page-1 redirect rules, noindex author archives, eventual author
indexability/hreflang, author biographies, and Phase 6C page-6 content remain indexability/hreflang, author biographies, and Phase 6C page-6 content remain
separate approved or conditional checkpoints and are not implemented here. separate approved or conditional checkpoints and are not implemented here.
## Phase 6B.2 — Library Pagination and Page-1 Redirects (2026-10-10)
### Scope and Starting State
Phase 6B.2 started from checkpoint
`b20c253383440598c2d07bf6f852906ac00c42df` on
`faithful-astro-migration`. It implements deterministic, static pagination for
the three existing Library roots and repository-level redirect definitions for
their first-page aliases. It does not add Library articles, author routes,
author metadata, production hosting configuration, or deployment changes.
The Phase 6B.1 catalog was recalculated from the repository rather than from
historical counts. It contains 46 eligible English records, 12 Spanish records,
and seven Arabic records. The two accessible English syndicated records remain
in that listing catalog despite retaining their external canonicals and
`noindex` publication treatment.
### Shared Pagination and Route Integration
`src/utils/library-pagination.ts` is a pure, reusable layer over the existing
catalog. Its page size is ten. It reports total items, nonempty page count,
current slice, and previous/next page numbers; rejects unsafe, non-integer,
zero, negative, and beyond-last page numbers; and maps page 1 back to the
unnumbered locale root. An empty root is a valid archive state, while no empty
numbered page is generated. Tests show that adding, removing, drafting, or
republishing catalog records changes the generated page inventory without a
manual route list.
The content publication manifest remains independent of the Library catalog.
`getLibraryPaginationManifest()` first receives the completed content manifest,
then derives the catalog and generated page descriptors from it.
`getRoutePublicationManifest()` composes and sorts those two inventories for
static route generation and sitemap output. This ordering avoids a recursive
manifest/catalog dependency. Generated pages reuse their locale's Library root
entry for presentation, while their publication descriptor supplies the
numbered route, self-canonical URL, eligibility, sitemap status, and page
metadata. The reserved `/{locale?}/library/page` families are checked against
content routes before generation, so content cannot silently shadow an archive
or alias.
The generated current-corpus inventory is:
| Language | Eligible articles | Routes and card counts |
| --- | ---: | --- |
| English | 46 | `/library` (10), `/library/page/2` (10), `/library/page/3` (10), `/library/page/4` (10), `/library/page/5` (6) |
| Spanish | 12 | `/es/library` (10), `/es/library/page/2` (2) |
| Arabic | 7 | `/ar/library` (7); no numbered page |
The implementation intentionally generates no `/page/1` HTML, English page 6,
Spanish page 3, Arabic page 2, page 0, leading-zero alias, decimal page, or
beyond-last page. Those absent paths fall through to the static host's 404
behavior.
### Rendering, Navigation, and Search
The three locale components now render the page slice returned by the shared
helper. Existing heroes, introductory content, cards, article URLs, featured
images, popular-post lists, and search controls remain in place. Page-specific
document titles append `Page N` or the existing locale's equivalent; the
visible root H1 is unchanged and remains unique. `BlogIndexLayout.astro` accepts
the heading separately from the document title so a numbered title does not
alter the source heading.
`LibraryPagination.astro` renders server-side anchors for previous, next, and
each valid page. Page 1 always links to the unnumbered root. The current link
uses `aria-current="page"`; the navigation has a locale-specific accessible
label, visible focus styles, 44-pixel minimum targets, wrapping layout, and no
disabled or nonexistent links. Arabic retains document RTL direction and
logical DOM focus order. The newly introduced Spanish and Arabic pagination
labels are functional but remain ready for human language review rather than
being represented as professionally reviewed translations.
The ordinary cards and pager share one archive wrapper. Phase 6B.1 search still
loads the full locale JSON index, including when initiated on a numbered page.
While search is active it hides both that page's cards and pager. Reset restores
the same numbered page without navigating to page 1. Direct fragments and
browser Back/Forward preserve the expected state. If index loading fails, the
page slice and pager remain usable. With JavaScript disabled, cards and real
pagination links remain fully navigable and the search enhancement stays
honestly unavailable. Legacy `/search` query and offset behavior is unchanged.
The historical Markdown listing snapshots remain bypassed and were not edited;
the catalog remains the only rendered listing source.
### First-Page Alias Redirect Definitions
The existing generator and redirect registry retain the three service aliases
and add exactly these definitions:
| Source | Destination | Status |
| --- | --- | ---: |
| `/library/page/1` | `/library` | 301 |
| `/es/library/page/1` | `/es/library` | 301 |
| `/ar/library/page/1` | `/ar/library` | 301 |
`src/data/redirects.json`, `reports/redirect-map.csv`, and
`reports/nginx-rewrites.conf` are generated from the same source definitions.
Tests reject duplicate sources, redirect loops, altered service aliases,
generated alias HTML, or alias sitemap entries.
An isolated `nginx:latest` container served the generated static output with
the generated snippet mounted read-only. Each alias returned HTTP 301 with its
exact path-only `Location`, following each redirect ended at HTTP 200 without a
loop, `/library/page/2` returned 200, and `/library/page/6` returned 404. The
container was stopped after the check. These results validate the repository
definitions and compatible nginx behavior only. Neither the NixOS reverse
proxy nor the deployed staging/production configuration was changed; activation
and host-level verification remain explicitly gated.
### Publication and SEO Results
The three Library roots preserve their existing self-canonicals and reciprocal
root hreflang relationships. Each generated numbered page is self-canonical,
`index,follow` in the local indexing-enabled build, present in that sitemap,
and deliberately has no hreflang. The five routes increase the generated HTML
count from 97 to 102 and the production-policy sitemap count from 92 to 97.
Hreflang remains 174 links across the same 53 routes.
The existing article routes, article canonicals, syndicated exceptions,
BlogPosting and FAQPage output, `/search` noindex behavior, LanguageSwitcher,
Header, Footer, forms, and integrations are unchanged. The final normal build
restored all 102 pages to global `noindex,nofollow`, an empty sitemap, and no
hreflang.
The saved-production offline reconciliation is
`reports/route-reconciliation-2026-10-10-offline-02-51-44-711Z.json`. It records
102 locally generated routes and reuses the existing 70 production requests
without making network requests or changing the historical observations. Its
production sitemap figures describe the preserved discovery baseline, not the
local indexing-enabled sitemap assertion above.
### Browser and Redirect Validation
A local Astro preview of the generated static artifact was exercised through
headless Chromium at desktop and 390-by-844 mobile viewports. Thirty-six focused
checks covered all three Library roots, English pages 2, 3, and 5, Spanish page
2, visible-link navigation, boundary controls, exact card counts, unique H1s,
mobile wrapping and overflow, Arabic RTL, and direct numbered URLs.
On `/library/page/3`, search found an article outside that ten-card slice,
hid cards and pagination, and restored the original page-3 archive on reset.
Direct search fragments and browser Back/Forward worked. Representative Spanish
search also used its full locale catalog. A blocked index request retained the
archive and pager. With JavaScript disabled, page-3 cards, article links, and
pagination remained available while search stayed unavailable. No claim is
made for a particular screen reader. The deployed `aia.web3app.dev` host was not
changed or used as evidence that the new redirect definitions are active.
### Automated Validation
| Check | Result |
| --- | --- |
| `npm run test:library` | Passed: 25 tests, including pagination boundaries, real corpus slices, route growth/removal, collisions, rendering, navigation, search, redirects, and SEO |
| `npm run test:seo` | Passed: 34 tests |
| `npm run test:publication` | Passed: 33 tests |
| `npm run test:markdown` | Passed: 20 tests |
| Normal `npm run build` | Passed: Astro check reported 0 errors, warnings, or hints; 102 HTML routes |
| `PUBLIC_ALLOW_INDEXING=true npm run build` | Passed: 102 HTML routes, 97 sitemap URLs, 174 hreflang links across 53 routes |
| `npm run audit:routes -- --check` | Passed after the established offline reconciliation procedure; no production requests |
| `npm run audit:links` | Passed: 0 broken internal links |
| `npm run audit:images` | Passed: 0 missing mapped page images |
| `npm run audit:blog` | Passed: 0 blog content audit failures |
| Final normal `npm run build` | Passed: 102 pages, all `noindex,nofollow`, empty sitemap, no hreflang |
| `git diff --check` | Passed |
### Cutover Blockers and Deferred Work
1. Production exposes `/library/page/6`, but the repository still lacks the
nine source-supported English articles assigned to Phase 6C. No empty page,
placeholder record, or misleading redirect was created. Phase 6C remains a
production-cutover prerequisite for accepting that URL.
2. Production's English author page 6 depends on the same missing corpus and on
Phase 6B.3 author archive implementation. No author route or author redirect
was added here.
3. Activation and HTTP verification of the three first-page redirects on the
intended hosting stack require a separately approved hosting change.
4. The Spanish and Arabic pagination navigation strings require human language
review. No article translation or translation relationship changed.
### Changed-File Inventory
Modified files:
- `reports/migration-summary.md` — this implementation, evidence, validation,
and cutover record.
- `reports/nginx-rewrites.conf`, `reports/redirect-map.csv`, and
`src/data/redirects.json` — generated first-page alias definitions while
preserving the three service aliases.
- `src/components/pages/LibraryEnglish.astro`,
`src/components/pages/LibrarySpanish.astro`, and
`src/components/pages/LibraryArabic.astro` — deterministic locale page slices,
pager integration, and separate numbered document titles.
- `src/layouts/BlogIndexLayout.astro` — separates the H1 from numbered document
titles and makes cards plus pager one search visibility boundary.
- `src/pages/[...slug].astro` — generates and renders composed numbered routes.
- `src/pages/sitemap.xml.ts` — uses the composed eligible route manifest.
- `src/utils/publication.ts` — composes content and generated Library page
descriptors through the existing publication API.
- `tools/generate-redirects.mjs` — adds the three approved Library aliases.
- `tools/library.test.mjs`, `tools/publication.test.mjs`, and
`tools/seo.test.mjs` — focused pagination, routing, search, redirect,
publication, sitemap, and metadata regression coverage.
New files:
- `src/utils/library-pagination.ts` — pure pagination and generated publication
descriptors.
- `src/components/LibraryPagination.astro` — accessible locale-aware pager.
- `reports/route-reconciliation-2026-10-10-offline-02-51-44-711Z.json` —
reproducible offline route evidence using the preserved production baseline.
No package dependency, article body, author record, content date, form,
analytics, advertising, production hosting, employee-portal, or unrelated page
was changed. Author archives, author biographies, Phase 6C content, page-1
author aliases, and production deployment remain outside this checkpoint.
+3
View File
@@ -1,3 +1,6 @@
rewrite ^/aba$ /aba-therapy permanent; rewrite ^/aba$ /aba-therapy permanent;
rewrite ^/autismevaluations$ /autism-evaluations permanent; rewrite ^/autismevaluations$ /autism-evaluations permanent;
rewrite ^/learnersocialclub$ /learner-social-club permanent; rewrite ^/learnersocialclub$ /learner-social-club permanent;
rewrite ^/library/page/1$ /library permanent;
rewrite ^/es/library/page/1$ /es/library permanent;
rewrite ^/ar/library/page/1$ /ar/library permanent;
+3
View File
@@ -2,3 +2,6 @@ from,to,status,reason
"/aba","/aba-therapy",301,"Brief legacy alias to preserved URL" "/aba","/aba-therapy",301,"Brief legacy alias to preserved URL"
"/autismevaluations","/autism-evaluations",301,"Brief legacy alias to preserved URL" "/autismevaluations","/autism-evaluations",301,"Brief legacy alias to preserved URL"
"/learnersocialclub","/learner-social-club",301,"Brief legacy alias to preserved URL" "/learnersocialclub","/learner-social-club",301,"Brief legacy alias to preserved URL"
"/library/page/1","/library",301,"Library first-page alias"
"/es/library/page/1","/es/library",301,"Spanish Library first-page alias"
"/ar/library/page/1","/ar/library",301,"Arabic Library first-page alias"
1 from to status reason
2 /aba /aba-therapy 301 Brief legacy alias to preserved URL
3 /autismevaluations /autism-evaluations 301 Brief legacy alias to preserved URL
4 /learnersocialclub /learner-social-club 301 Brief legacy alias to preserved URL
5 /library/page/1 /library 301 Library first-page alias
6 /es/library/page/1 /es/library 301 Spanish Library first-page alias
7 /ar/library/page/1 /ar/library 301 Arabic Library first-page alias
@@ -0,0 +1,155 @@
{
"schemaVersion": 1,
"generatedAt": "2026-10-10T02:51:44.711Z",
"mode": "offline-reconciliation",
"gitHead": "b20c253383440598c2d07bf6f852906ac00c42df",
"sourceFingerprint": "b7a1d212d4641e41ba1d5f959aefce9b4fbcd6e9b921410a6fe8df1dfc188bcc",
"baselineFile": "route-baseline-2026-10-06.json",
"baselineSha256": "6133f0624e65a327fc490b3bb83e105a4ff5604a3a815b89ececfb637e15980f",
"limitations": [
"Route presence is not content or visual parity.",
"Unrequested sitemap URLs are not HTTP-verified.",
"Existing dist required; rebuild before capture if application files changed.",
"Fragments are preserved references, not separately fetched documents.",
"Query variants are retained; automatic requests do not submit search terms.",
"Fresh requests record redirects without following them; inherited observations generally recorded final responses. A status difference alone is not evidence of a newly introduced redirect."
],
"localUtilities": [
"/robots.txt",
"/sitemap.xml"
],
"discovery": {"checkedAt":"2026-10-07T00:57:25.492Z","policy":{"method":"GET","minimumIntervalMs":750,"maxRequests":80,"redirects":"recorded, not followed","origin":"https://www.azinstitute4autism.com"},"robots":{"checkedAt":"2026-10-07T00:56:33.384Z","status":200,"text":"User-agent: *\nAllow: /\nDisallow: /_hcms/preview/\nDisallow: /hs/manage-preferences/\nDisallow: /hs/preferences-center/\nDisallow: /*?*hs_preview=*\nDisallow: /*?*hsCacheBuster=*\n"},"requests":[{"url":"https://www.azinstitute4autism.com/robots.txt","purpose":"robots","checkedAt":"2026-10-07T00:56:33.384Z","status":200},{"url":"https://www.azinstitute4autism.com/sitemap.xml","purpose":"sitemap","checkedAt":"2026-10-07T00:56:34.134Z","status":200},{"url":"https://www.azinstitute4autism.com/","purpose":"page","checkedAt":"2026-10-07T00:56:34.885Z","status":200},{"url":"https://www.azinstitute4autism.com/es","purpose":"page","checkedAt":"2026-10-07T00:56:35.635Z","status":301,"location":"https://www.azinstitute4autism.com/es/"},{"url":"https://www.azinstitute4autism.com/library","purpose":"page","checkedAt":"2026-10-07T00:56:36.385Z","status":200},{"url":"https://www.azinstitute4autism.com/es/library","purpose":"page","checkedAt":"2026-10-07T00:56:37.136Z","status":200},{"url":"https://www.azinstitute4autism.com/ar/library","purpose":"page","checkedAt":"2026-10-07T00:56:37.885Z","status":200},{"url":"https://www.azinstitute4autism.com/aba","purpose":"page","checkedAt":"2026-10-07T00:56:38.635Z","status":301,"location":"https://www.azinstitute4autism.com/aba-therapy"},{"url":"https://www.azinstitute4autism.com/aba-therapy","purpose":"page","checkedAt":"2026-10-07T00:56:39.385Z","status":200},{"url":"https://www.azinstitute4autism.com/aba-therapy-intake-process","purpose":"page","checkedAt":"2026-10-07T00:56:40.135Z","status":200},{"url":"https://www.azinstitute4autism.com/about","purpose":"page","checkedAt":"2026-10-07T00:56:40.885Z","status":200},{"url":"https://www.azinstitute4autism.com/ar","purpose":"page","checkedAt":"2026-10-07T00:56:41.635Z","status":404},{"url":"https://www.azinstitute4autism.com/ar/library/author/rula-diab","purpose":"page","checkedAt":"2026-10-07T00:56:42.385Z","status":200},{"url":"https://www.azinstitute4autism.com/autism-evaluations","purpose":"page","checkedAt":"2026-10-07T00:56:43.135Z","status":200},{"url":"https://www.azinstitute4autism.com/autismevaluations","purpose":"page","checkedAt":"2026-10-07T00:56:43.885Z","status":301,"location":"https://www.azinstitute4autism.com/autism-evaluations"},{"url":"https://www.azinstitute4autism.com/careers","purpose":"page","checkedAt":"2026-10-07T00:56:44.635Z","status":200},{"url":"https://www.azinstitute4autism.com/client-consultation","purpose":"page","checkedAt":"2026-10-07T00:56:45.386Z","status":200},{"url":"https://www.azinstitute4autism.com/client-forms","purpose":"page","checkedAt":"2026-10-07T00:56:46.136Z","status":200},{"url":"https://www.azinstitute4autism.com/contact","purpose":"page","checkedAt":"2026-10-07T00:56:46.886Z","status":200},{"url":"https://www.azinstitute4autism.com/donate-autism-giveback","purpose":"page","checkedAt":"2026-10-07T00:56:47.636Z","status":200},{"url":"https://www.azinstitute4autism.com/employee-portal","purpose":"page","checkedAt":"2026-10-07T00:56:48.386Z","status":200},{"url":"https://www.azinstitute4autism.com/es/aba-therapy","purpose":"page","checkedAt":"2026-10-07T00:56:49.137Z","status":200},{"url":"https://www.azinstitute4autism.com/es/aba-therapy-intake-process","purpose":"page","checkedAt":"2026-10-07T00:56:49.888Z","status":200},{"url":"https://www.azinstitute4autism.com/es/autism-evaluations","purpose":"page","checkedAt":"2026-10-07T00:56:50.638Z","status":200},{"url":"https://www.azinstitute4autism.com/es/client-consultation","purpose":"page","checkedAt":"2026-10-07T00:56:51.388Z","status":200},{"url":"https://www.azinstitute4autism.com/es/contact","purpose":"page","checkedAt":"2026-10-07T00:56:52.139Z","status":200},{"url":"https://www.azinstitute4autism.com/es/learner-social-club","purpose":"page","checkedAt":"2026-10-07T00:56:52.889Z","status":200},{"url":"https://www.azinstitute4autism.com/es/library/aba-school-readiness-arizona","purpose":"page","checkedAt":"2026-10-07T00:56:53.639Z","status":200},{"url":"https://www.azinstitute4autism.com/es/library/author/rula-diab","purpose":"page","checkedAt":"2026-10-07T00:56:54.389Z","status":200},{"url":"https://www.azinstitute4autism.com/es/library/page/2","purpose":"page","checkedAt":"2026-10-07T00:56:55.139Z","status":200},{"url":"https://www.azinstitute4autism.com/es/privacy-policy","purpose":"page","checkedAt":"2026-10-07T00:56:55.889Z","status":200},{"url":"https://www.azinstitute4autism.com/es/services","purpose":"page","checkedAt":"2026-10-07T00:56:56.639Z","status":200},{"url":"https://www.azinstitute4autism.com/faqs","purpose":"page","checkedAt":"2026-10-07T00:56:57.390Z","status":200},{"url":"https://www.azinstitute4autism.com/insurance","purpose":"page","cheLine truncated
"summary": {"routes":129,"localGenerated":102,"sitemap":102,"sitemapLocalOverlap":92,"sitemapLocalMissing":10,"localNotInSitemap":10,"verifiedLiveNotInSitemap":21,"verifiedAbsent":1,"dispositions":{"both-discovered-http-unverified":59,"both-route-present-content-unverified":42,"discovered-production-absent":1,"live-discovered-local-missing":2,"live-only-verified":21,"local-and-production-redirect":1,"production-redirect-only":3}},
"baselineChanges": {"sitemapAdded":[],"sitemapRemoved":[],"observations":[{"route":"/es","field":"status","inherited":200,"current":301}]},
"routes": [
{"route":"/","local":{"route":"/","source":"src/content/pages/en/index.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/","externalCanonical":false,"sitemapEligible":true,"title":"Scottsdale ABA Therapy for Children | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/","robots":"noindex,nofollow"},"production":{"route":"/","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/","link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/lp/early-intervention","link:/privacy-policy","link:/referrals","link:/schedule-consultation","link:/search","link:/services","link:/team","link:/tour","seed:index","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:34.885Z","status":200,"title":"Scottsdale ABA Therapy for Children | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com","locale":"en","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/aba","local":null,"production":{"route":"/aba","discoveredAt":"2026-10-07T00:56:37.985Z","sources":["target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:38.635Z","status":301,"location":"https://www.azinstitute4autism.com/aba-therapy"}},"inProductionSitemap":false,"disposition":"production-redirect-only"},
{"route":"/aba-therapy","local":{"route":"/aba-therapy","source":"src/content/pages/en/aba-therapy.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/aba-therapy","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/aba-therapy","externalCanonical":false,"sitemapEligible":true,"title":"Integrated ABA Therapy for Autism | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/aba-therapy","robots":"noindex,nofollow"},"production":{"route":"/aba-therapy","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/aba-therapy","alternate:/es/aba-therapy","link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:39.385Z","status":200,"title":"Integrated ABA Therapy for Autism | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/aba-therapy","locale":"en","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/aba-therapy-intake-process","local":{"route":"/aba-therapy-intake-process","source":"src/content/pages/en/aba-therapy-intake-process.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/aba-therapy-intake-process","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/aba-therapy-intake-process","externalCanonical":false,"sitemapEligible":true,"title":"Starting ABA Therapy Step-by-Step Guide | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/aba-therapy-intake-process","robots":"noindex,nofollow"},"production":{"route":"/aba-therapy-intake-process","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/aba-therapy-intake-process","alternate:/es/aba-therapy-intake-process","link:/","link:/aba-therapy-intake-process","link:/es/aba-therapy-intake-process","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":["/aba-therapy-intake-process#fifth-step","/aba-therapy-intake-process#first-step","/aba-therapy-intake-process#fourth-step","/aba-therapy-intake-process#second-step","/aba-therapy-intake-process#sixth-step","/aba-therapy-intake-process#third-step"],"http":{"checkedAt":"2026-10-07T00:56:40.135Z","status":200,"title":"Starting ABA Therapy Step-by-Step Guide | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/aba-therapy-intake-process","locale":"en","robots":null},"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/about","local":{"route":"/about","source":"src/content/pages/en/about.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/about","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/about","externalCanonical":false,"sitemapEligible":true,"title":"About Us | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/about","robots":"noindex,nofollow"},"production":{"route":"/about","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:40.885Z","status":200,"title":"About Us | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/about","locale":"en","robots":null},"sitemapLastmod":"2025-05-08"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/ar","local":{"route":"/ar","source":"src/content/pages/ar/index.md","draft":true,"placeholder":true,"sourceCanonical":"https://www.azinstitute4autism.com/ar","locale":"ar","generated":false,"eligible":false,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar","externalCanonical":false,"sitemapEligible":false},"production":{"route":"/ar","discoveredAt":"2026-10-07T00:56:41.273Z","sources":["target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:41.635Z","status":404}},"inProductionSitemap":false,"disposition":"discovered-production-absent"},
{"route":"/ar/library","local":{"route":"/ar/library","source":"src/content/pages/ar/library.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/ar/library","locale":"ar","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar/library","externalCanonical":false,"sitemapEligible":true,"title":"مكتبة معهد أريزونا للتوحد","canonical":"https://www.azinstitute4autism.com/ar/library","robots":"noindex,nofollow"},"production":{"route":"/ar/library","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/ar/library","alternate:/es/library","alternate:/library","link:/ar/library","link:/ar/library/author/rula-diab","link:/es/library","link:/es/library/page/2","link:/library","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","seed:index","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:37.885Z","status":200,"title":"المكتبة وغرفة الأخبار | معهد أريزونا للتوحد","canonical":null,"locale":"ar","robots":null},"sitemapLastmod":"2025-07-22"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/ar/library/aba-school-readiness-guide","local":{"route":"/ar/library/aba-school-readiness-guide","source":"src/content/blog/ar/aba-school-readiness-guide.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/ar/library/aba-school-readiness-guide","locale":"ar","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar/library/aba-school-readiness-guide","externalCanonical":false,"sitemapEligible":true,"title":"العودة إلى المدرسة بسهولة | تدخلات ABA: تعزيز بالمقدمات والنتائج","canonical":"https://www.azinstitute4autism.com/ar/library/aba-school-readiness-guide","robots":"noindex,nofollow"},"production":{"route":"/ar/library/aba-school-readiness-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/ar/library","link:/ar/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-11-22"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/ar/library/author/rula-diab","local":null,"production":{"route":"/ar/library/author/rula-diab","discoveredAt":"2026-10-07T00:56:37.885Z","sources":["alternate:/ar/library/author/rula-diab","alternate:/es/library/author/rula-diab","alternate:/library/author/rula-diab","link:/ar/library","link:/ar/library/author/rula-diab","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:42.385Z","status":200,"title":"المكتبة وغرفة الأخبار | معهد أريزونا للتوحد | رولا دياب، المديرة الإكلينيكية، ماجستير في التربية، BCBA، LBA","canonical":null,"locale":"ar","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/ar/library/autism-self-advocacy-skills-aba","local":{"route":"/ar/library/autism-self-advocacy-skills-aba","source":"src/content/blog/ar/autism-self-advocacy-skills-aba.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/ar/library/autism-self-advocacy-skills-aba","locale":"ar","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar/library/autism-self-advocacy-skills-aba","externalCanonical":false,"sitemapEligible":true,"title":"دليل تعليم مهارات الدفاع عن النفس في ABA","canonical":"https://www.azinstitute4autism.com/ar/library/autism-self-advocacy-skills-aba","robots":"noindex,nofollow"},"production":{"route":"/ar/library/autism-self-advocacy-skills-aba","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/autism-self-advocacy-skills-aba","link:/ar/library","link:/ar/library/author/rula-diab","link:/library/autism-self-advocacy-skills-aba","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/ar/library/behavior-management-functions-guide","local":{"route":"/ar/library/behavior-management-functions-guide","source":"src/content/blog/ar/behavior-management-functions-guide.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/ar/library/behavior-management-functions-guide","locale":"ar","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar/library/behavior-management-functions-guide","externalCanonical":false,"sitemapEligible":true,"title":"إتقان إدارة السلوك: اكتشف الوظائف الأربع للسلوك","canonical":"https://www.azinstitute4autism.com/ar/library/behavior-management-functions-guide","robots":"noindex,nofollow"},"production":{"route":"/ar/library/behavior-management-functions-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/ar/library","link:/ar/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/ar/library/executive-functioning-skills-autism","local":{"route":"/ar/library/executive-functioning-skills-autism","source":"src/content/blog/ar/executive-functioning-skills-autism.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/ar/library/executive-functioning-skills-autism","locale":"ar","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar/library/executive-functioning-skills-autism","externalCanonical":false,"sitemapEligible":true,"title":"مهارات الوظائف التنفيذية والتوحّد","canonical":"https://www.azinstitute4autism.com/ar/library/executive-functioning-skills-autism","robots":"noindex,nofollow"},"production":{"route":"/ar/library/executive-functioning-skills-autism","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/ar/library","link:/ar/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/ar/library/first-then-cards-autism-transitions","local":{"route":"/ar/library/first-then-cards-autism-transitions","source":"src/content/blog/ar/first-then-cards-autism-transitions.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/ar/library/first-then-cards-autism-transitions","locale":"ar","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar/library/first-then-cards-autism-transitions","externalCanonical":false,"sitemapEligible":true,"title":"بطاقات أولاً/ثم: تمكين الانتقالات للأطفال المصابين بالتوحد","canonical":"https://www.azinstitute4autism.com/ar/library/first-then-cards-autism-transitions","robots":"noindex,nofollow"},"production":{"route":"/ar/library/first-then-cards-autism-transitions","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/ar/library","link:/ar/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-12-02"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/ar/library/positive-reinforcement-techniques","local":{"route":"/ar/library/positive-reinforcement-techniques","source":"src/content/blog/ar/positive-reinforcement-techniques.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/ar/library/positive-reinforcement-techniques","locale":"ar","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar/library/positive-reinforcement-techniques","externalCanonical":false,"sitemapEligible":true,"title":"التعزيز الإيجابي في علاج تحليل السلوك التطبيقي (ABA) لتشجيع تطوير المهارات","canonical":"https://www.azinstitute4autism.com/ar/library/positive-reinforcement-techniques","robots":"noindex,nofollow"},"production":{"route":"/ar/library/positive-reinforcement-techniques","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/ar/library","link:/ar/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/ar/library/proactive-reactive-aba-strategies-guide","local":{"route":"/ar/library/proactive-reactive-aba-strategies-guide","source":"src/content/blog/ar/proactive-reactive-aba-strategies-guide.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/ar/library/proactive-reactive-aba-strategies-guide","locale":"ar","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/ar/library/proactive-reactive-aba-strategies-guide","externalCanonical":false,"sitemapEligible":true,"title":"إتقان تقنيات التحليل السلوكي الاستباقية والتفاعلية– احجز استشارتك الآن","canonical":"https://www.azinstitute4autism.com/ar/library/proactive-reactive-aba-strategies-guide","robots":"noindex,nofollow"},"production":{"route":"/ar/library/proactive-reactive-aba-strategies-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/ar/library","link:/ar/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-07-19"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/autism-evaluations","local":{"route":"/autism-evaluations","source":"src/content/pages/en/autism-evaluations.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/autism-evaluations","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/autism-evaluations","externalCanonical":false,"sitemapEligible":true,"title":"Accurate Autism Assessment for Children | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/autism-evaluations","robots":"noindex,nofollow"},"production":{"route":"/autism-evaluations","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/autism-evaluations","alternate:/es/autism-evaluations","link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/autism-evaluations","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:43.135Z","status":200,"title":"Accurate Autism Assessment for Children | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/autism-evaluations","locale":"en","robots":null},"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/autismevaluations","local":null,"production":{"route":"/autismevaluations","discoveredAt":"2026-10-07T00:56:43.241Z","sources":["target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:43.885Z","status":301,"location":"https://www.azinstitute4autism.com/autism-evaluations"}},"inProductionSitemap":false,"disposition":"production-redirect-only"},
{"route":"/careers","local":{"route":"/careers","source":"src/content/pages/en/careers.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/careers","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/careers","externalCanonical":false,"sitemapEligible":true,"title":"Join Our Team | Autism Careers in AZ | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/careers","robots":"noindex,nofollow"},"production":{"route":"/careers","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:44.635Z","status":200,"title":"Join Our Team | Autism Careers in AZ | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/careers","locale":"en","robots":null},"sitemapLastmod":"2025-05-22"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/client-consultation","local":{"route":"/client-consultation","source":"src/content/pages/en/client-consultation.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/client-consultation","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/client-consultation","externalCanonical":false,"sitemapEligible":true,"title":"Client Consultation Form | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/client-consultation","robots":"noindex,nofollow"},"production":{"route":"/client-consultation","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/client-consultation","alternate:/es/client-consultation","link:/","link:/aba-therapy-intake-process","link:/client-consultation","link:/es/aba-therapy-intake-process","link:/es/client-consultation","link:/es/services","link:/faqs","link:/library/aba-school-readiness-arizona","link:/library/autism-after-school-meltdowns","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/does-aba-therapy-replace-school","link:/library/sleep-issues-autistic-children","link:/services","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:45.386Z","status":200,"title":"Client Consultation Form | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/client-consultation","locale":"en","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/client-forms","local":{"route":"/client-forms","source":"src/content/pages/en/client-forms.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/client-forms","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/client-forms","externalCanonical":false,"sitemapEligible":true,"title":"Essential Forms for Autism Support | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/client-forms","robots":"noindex,nofollow"},"production":{"route":"/client-forms","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:46.136Z","status":200,"title":"Essential Forms for Autism Support | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/client-forms","locale":"en","robots":null},"sitemapLastmod":"2026-01-12"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/contact","local":{"route":"/contact","source":"src/content/pages/en/contact.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/contact","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/contact","externalCanonical":false,"sitemapEligible":true,"title":"Contact AIA | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/contact","robots":"noindex,nofollow"},"production":{"route":"/contact","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/contact","alternate:/es/contact","link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/contact","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:46.886Z","status":200,"title":"Contact AIA | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/contact","locale":"en","robots":null},"sitemapLastmod":"2026-07-10"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/donate-autism-giveback","local":{"route":"/donate-autism-giveback","source":"src/content/pages/en/donate-autism-giveback.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/donate-autism-giveback","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/donate-autism-giveback","externalCanonical":false,"sitemapEligible":true,"title":"Help Autism Families Thrive | Donate to Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/donate-autism-giveback","robots":"noindex,nofollow"},"production":{"route":"/donate-autism-giveback","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:47.636Z","status":200,"title":"Help Autism Families Thrive | Donate to Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/donate-autism-giveback","locale":"en","robots":null},"sitemapLastmod":"2026-05-27"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/employee-portal","local":{"route":"/employee-portal","source":"src/content/pages/en/employee-portal.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/employee-portal","locale":"en","generated":true,"eligible":true,"noindex":true,"policyCanonical":"https://www.azinstitute4autism.com/employee-portal","externalCanonical":false,"sitemapEligible":false,"title":"AIA Employee Portal | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/employee-portal","robots":"noindex,nofollow"},"production":{"route":"/employee-portal","discoveredAt":"2026-10-07T00:56:34.885Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:48.386Z","status":200,"title":"AIA Employee Portal | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/employee-portal","locale":"en","robots":"noindex"}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/es","local":{"route":"/es","source":"src/content/pages/es/index.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es","externalCanonical":false,"sitemapEligible":true,"title":"Terapia ABA cerca de mí | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/es","robots":"noindex,nofollow"},"production":{"route":"/es","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/","link:/","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","seed:index","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:35.635Z","status":301,"location":"https://www.azinstitute4autism.com/es/"},"sitemapLastmod":"2026-10-04"},"inProductionSitemap":true,"disposition":"local-and-production-redirect"},
{"route":"/es/aba-therapy","local":{"route":"/es/aba-therapy","source":"src/content/pages/es/aba-therapy.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/aba-therapy","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/aba-therapy","externalCanonical":false,"sitemapEligible":true,"title":"Terapia ABA Integrada para el Autismo | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/es/aba-therapy","robots":"noindex,nofollow"},"production":{"route":"/es/aba-therapy","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/aba-therapy","alternate:/es/aba-therapy","link:/aba-therapy","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:49.137Z","status":200,"title":"Terapia ABA Integrada para el Autismo | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/es/aba-therapy","locale":"es","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/es/aba-therapy-intake-process","local":{"route":"/es/aba-therapy-intake-process","source":"src/content/pages/es/aba-therapy-intake-process.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/aba-therapy-intake-process","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/aba-therapy-intake-process","externalCanonical":false,"sitemapEligible":true,"title":"Guía paso a paso para comenzar la terapia ABA | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/es/aba-therapy-intake-process","robots":"noindex,nofollow"},"production":{"route":"/es/aba-therapy-intake-process","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/aba-therapy-intake-process","alternate:/es/aba-therapy-intake-process","link:/aba-therapy-intake-process","link:/es/aba-therapy-intake-process","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:49.888Z","status":200,"title":"Guía paso a paso para comenzar la terapia ABA | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/es/aba-therapy-intake-process","locale":"es","robots":null},"sitemapLastmod":"2026-04-09"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/es/autism-evaluations","local":{"route":"/es/autism-evaluations","source":"src/content/pages/es/autism-evaluations.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/autism-evaluations","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/autism-evaluations","externalCanonical":false,"sitemapEligible":true,"title":"Evaluación precisa del autismo para niños | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/es/autism-evaluations","robots":"noindex,nofollow"},"production":{"route":"/es/autism-evaluations","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/autism-evaluations","alternate:/es/autism-evaluations","link:/autism-evaluations","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:50.638Z","status":200,"title":"Evaluación precisa del autismo para niños | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/es/autism-evaluations","locale":"es","robots":null},"sitemapLastmod":"2026-05-08"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/es/client-consultation","local":{"route":"/es/client-consultation","source":"src/content/pages/es/client-consultation.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/client-consultation","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/client-consultation","externalCanonical":false,"sitemapEligible":true,"title":"Formulario de Consulta del Cliente | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/es/client-consultation","robots":"noindex,nofollow"},"production":{"route":"/es/client-consultation","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/client-consultation","alternate:/es/client-consultation","link:/client-consultation","link:/es/client-consultation","link:/es/library/aba-school-readiness-arizona","link:/es/services","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:51.388Z","status":200,"title":"Formulario de Consulta del Cliente | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/es/client-consultation","locale":"es","robots":null},"sitemapLastmod":"2026-10-04"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/es/contact","local":{"route":"/es/contact","source":"src/content/pages/es/contact.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/contact","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/contact","externalCanonical":false,"sitemapEligible":true,"title":"Contactar a AIA | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/es/contact","robots":"noindex,nofollow"},"production":{"route":"/es/contact","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/contact","alternate:/es/contact","link:/contact","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:52.139Z","status":200,"title":"Contactar a AIA | Arizona Institute for Autism | Scottsdale","canonical":"https://www.azinstitute4autism.com/es/contact","locale":"es","robots":null},"sitemapLastmod":"2026-07-10"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/es/learner-social-club","local":{"route":"/es/learner-social-club","source":"src/content/pages/es/learner-social-club.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/learner-social-club","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/learner-social-club","externalCanonical":false,"sitemapEligible":true,"title":"Impulsa el funcionamiento emocional y social con Learner Social Club en AIA","canonical":"https://www.azinstitute4autism.com/es/learner-social-club","robots":"noindex,nofollow"},"production":{"route":"/es/learner-social-club","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/es/learner-social-club","alternate:/learner-social-club","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/learner-social-club","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:52.889Z","status":200,"title":"Impulsa el funcionamiento emocional y social con Learner Social Club en AIA","canonical":"https://www.azinstitute4autism.com/es/learner-social-club","locale":"es","robots":null},"sitemapLastmod":"2026-05-08"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/es/library","local":{"route":"/es/library","source":"src/content/pages/es/library.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library","externalCanonical":false,"sitemapEligible":true,"title":"La Biblioteca en AZ Institute for Autism","canonical":"https://www.azinstitute4autism.com/es/library","robots":"noindex,nofollow"},"production":{"route":"/es/library","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/ar/library","alternate:/es/library","alternate:/library","link:/ar/library","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/library","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","seed:index","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:37.136Z","status":200,"title":"Biblioteca y Noticias | Instituto de Autismo de Arizona","canonical":null,"locale":"es","robots":null},"sitemapLastmod":"2025-09-01"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/es/library/aba-school-readiness-arizona","local":{"route":"/es/library/aba-school-readiness-arizona","source":"src/content/blog/es/aba-school-readiness-arizona.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/aba-school-readiness-arizona","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/aba-school-readiness-arizona","externalCanonical":false,"sitemapEligible":true,"title":"Preparación escolar ABA en AZ | Academia Preparatoria AIA (2 a 6 años)","canonical":"https://www.azinstitute4autism.com/es/library/aba-school-readiness-arizona","robots":"noindex,nofollow"},"production":{"route":"/es/library/aba-school-readiness-arizona","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/es/library/aba-school-readiness-arizona","alternate:/library/aba-school-readiness-arizona","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/library/aba-school-readiness-arizona","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:53.639Z","status":200,"title":"Preparación escolar y autismo en Arizona: guía para familias","canonical":"https://www.azinstitute4autism.com/es/library/aba-school-readiness-arizona","locale":"es","robots":null},"sitemapLastmod":"2026-09-25"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/es/library/author/rula-diab","local":null,"production":{"route":"/es/library/author/rula-diab","discoveredAt":"2026-10-07T00:56:37.136Z","sources":["alternate:/ar/library/author/rula-diab","alternate:/es/library/author/rula-diab","alternate:/library/author/rula-diab","link:/ar/library/author/rula-diab","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:54.389Z","status":200,"title":"Biblioteca y Noticias | Instituto de Autismo de Arizona | Rula Diab, Directora Clínica, M.Ed, BCBA, LBA","canonical":null,"locale":"es","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/es/library/author/rula-diab/page/2","local":null,"production":{"route":"/es/library/author/rula-diab/page/2","discoveredAt":"2026-10-07T00:56:54.389Z","sources":["link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:18.395Z","status":200,"title":"Biblioteca y Noticias | Instituto de Autismo de Arizona | Rula Diab, Directora Clínica, M.Ed, BCBA, LBA (2)","canonical":null,"locale":"es","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/es/library/autism-evaluation-diagnosis-arizona-parent-guide","local":{"route":"/es/library/autism-evaluation-diagnosis-arizona-parent-guide","source":"src/content/blog/es/autism-evaluation-diagnosis-arizona-parent-guide.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/autism-evaluation-diagnosis-arizona-parent-guide","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/autism-evaluation-diagnosis-arizona-parent-guide","externalCanonical":false,"sitemapEligible":true,"title":"Evaluación del Autismo en Arizona: Guía Paso a Paso para Padres","canonical":"https://www.azinstitute4autism.com/es/library/autism-evaluation-diagnosis-arizona-parent-guide","robots":"noindex,nofollow"},"production":{"route":"/es/library/autism-evaluation-diagnosis-arizona-parent-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-01-22"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/autism-evaluation-what-to-expect","local":{"route":"/es/library/autism-evaluation-what-to-expect","source":"src/content/blog/es/autism-evaluation-what-to-expect.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/autism-evaluation-what-to-expect","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/autism-evaluation-what-to-expect","externalCanonical":false,"sitemapEligible":true,"title":"Qué esperar en la primera evaluación de autismo de su hijo","canonical":"https://www.azinstitute4autism.com/es/library/autism-evaluation-what-to-expect","robots":"noindex,nofollow"},"production":{"route":"/es/library/autism-evaluation-what-to-expect","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/autism-family-self-care-tips","local":{"route":"/es/library/autism-family-self-care-tips","source":"src/content/blog/es/autism-family-self-care-tips.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/autism-family-self-care-tips","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/autism-family-self-care-tips","externalCanonical":false,"sitemapEligible":true,"title":"Descubre consejos para el autocuidado de padres de niños con autismo","canonical":"https://www.azinstitute4autism.com/es/library/autism-family-self-care-tips","robots":"noindex,nofollow"},"production":{"route":"/es/library/autism-family-self-care-tips","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-04-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/autism-self-advocacy-skills-aba","local":{"route":"/es/library/autism-self-advocacy-skills-aba","source":"src/content/blog/es/autism-self-advocacy-skills-aba.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/autism-self-advocacy-skills-aba","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/autism-self-advocacy-skills-aba","externalCanonical":false,"sitemapEligible":true,"title":"Desbloqueando la independencia para niños con autismo a través de la autodefensa ABA","canonical":"https://www.azinstitute4autism.com/es/library/autism-self-advocacy-skills-aba","robots":"noindex,nofollow"},"production":{"route":"/es/library/autism-self-advocacy-skills-aba","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/autism-self-advocacy-skills-aba","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/library/autism-self-advocacy-skills-aba","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-04-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/emotional-regulation-aba","local":{"route":"/es/library/emotional-regulation-aba","source":"src/content/blog/es/emotional-regulation-aba.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/emotional-regulation-aba","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/emotional-regulation-aba","externalCanonical":false,"sitemapEligible":true,"title":"Por qué la regulación emocional debería ser el corazón de cada programa de ABA","canonical":"https://www.azinstitute4autism.com/es/library/emotional-regulation-aba","robots":"noindex,nofollow"},"production":{"route":"/es/library/emotional-regulation-aba","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-11-22"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/enhancing-generalization-skills","local":{"route":"/es/library/enhancing-generalization-skills","source":"src/content/blog/es/enhancing-generalization-skills.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/enhancing-generalization-skills","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/enhancing-generalization-skills","externalCanonical":false,"sitemapEligible":true,"title":"Mejorando la generalización para un impacto más amplio en el autismo","canonical":"https://www.azinstitute4autism.com/es/library/enhancing-generalization-skills","robots":"noindex,nofollow"},"production":{"route":"/es/library/enhancing-generalization-skills","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-04-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/executive-functioning-skills-autism","local":{"route":"/es/library/executive-functioning-skills-autism","source":"src/content/blog/es/executive-functioning-skills-autism.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/executive-functioning-skills-autism","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/executive-functioning-skills-autism","externalCanonical":false,"sitemapEligible":true,"title":"Habilidades de funcionamiento ejecutivo y autismo: estrategias de éxito","canonical":"https://www.azinstitute4autism.com/es/library/executive-functioning-skills-autism","robots":"noindex,nofollow"},"production":{"route":"/es/library/executive-functioning-skills-autism","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-04-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/first-then-cards-autism-transitions","local":{"route":"/es/library/first-then-cards-autism-transitions","source":"src/content/blog/es/first-then-cards-autism-transitions.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/first-then-cards-autism-transitions","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/first-then-cards-autism-transitions","externalCanonical":false,"sitemapEligible":true,"title":"Tarjetas Primero/Después : Empoderando las transiciones para niños autistas","canonical":"https://www.azinstitute4autism.com/es/library/first-then-cards-autism-transitions","robots":"noindex,nofollow"},"production":{"route":"/es/library/first-then-cards-autism-transitions","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-04-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/page/2","local":{"route":"/es/library/page/2","generated":true,"title":"La Biblioteca en AZ Institute for Autism | Página 2","canonical":"https://www.azinstitute4autism.com/es/library/page/2","locale":"es","robots":"noindex,nofollow"},"production":{"route":"/es/library/page/2","discoveredAt":"2026-10-07T00:56:37.136Z","sources":["link:/es/library","link:/es/library/page/2","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:55.139Z","status":200,"title":"Biblioteca y Noticias | Instituto de Autismo de Arizona (2)","canonical":null,"locale":"es","robots":null}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/es/library/parents-guide-to-autism-and-aba","local":{"route":"/es/library/parents-guide-to-autism-and-aba","source":"src/content/blog/es/parents-guide-to-autism-and-aba.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/parents-guide-to-autism-and-aba","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/parents-guide-to-autism-and-aba","externalCanonical":false,"sitemapEligible":true,"title":"Cómo ayudar a su hijo autista: Una guía para padres y cuidadores","canonical":"https://www.azinstitute4autism.com/es/library/parents-guide-to-autism-and-aba","robots":"noindex,nofollow"},"production":{"route":"/es/library/parents-guide-to-autism-and-aba","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-05-07"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/positive-reinforcement-techniques","local":{"route":"/es/library/positive-reinforcement-techniques","source":"src/content/blog/es/positive-reinforcement-techniques.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/positive-reinforcement-techniques","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/positive-reinforcement-techniques","externalCanonical":false,"sitemapEligible":true,"title":"Refuerzo positivo en la terapia ABA para fomentar el desarrollo de habilidades","canonical":"https://www.azinstitute4autism.com/es/library/positive-reinforcement-techniques","robots":"noindex,nofollow"},"production":{"route":"/es/library/positive-reinforcement-techniques","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-04-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/library/social-pragmatic-communication-autism","local":{"route":"/es/library/social-pragmatic-communication-autism","source":"src/content/blog/es/social-pragmatic-communication-autism.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/library/social-pragmatic-communication-autism","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/library/social-pragmatic-communication-autism","externalCanonical":false,"sitemapEligible":true,"title":"Por qué mi hijo puede hablar pero aún tiene dificultades sociales","canonical":"https://www.azinstitute4autism.com/es/library/social-pragmatic-communication-autism","robots":"noindex,nofollow"},"production":{"route":"/es/library/social-pragmatic-communication-autism","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-01-22"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/es/privacy-policy","local":null,"production":{"route":"/es/privacy-policy","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/es/privacy-policy","alternate:/privacy-policy","link:/es/privacy-policy","link:/privacy-policy","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:55.889Z","status":200,"title":"Privacy Policy | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/es/privacy-policy","locale":"es","robots":null},"sitemapLastmod":"2026-09-09"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/es/services","local":{"route":"/es/services","source":"src/content/pages/es/services.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/es/services","locale":"es","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/es/services","externalCanonical":false,"sitemapEligible":true,"title":"Servicios pediátricos de autismo conductuales, psicológicos y sociológicos","canonical":"https://www.azinstitute4autism.com/es/services","robots":"noindex,nofollow"},"production":{"route":"/es/services","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/es/services","alternate:/services","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/services","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:56.639Z","status":200,"title":"Servicios pediátricos de autismo conductuales, psicológicos y sociológicos","canonical":"https://www.azinstitute4autism.com/es/services","locale":"es","robots":null},"sitemapLastmod":"2026-05-08"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/faqs","local":{"route":"/faqs","source":"src/content/pages/en/faqs.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/faqs","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/faqs","externalCanonical":false,"sitemapEligible":true,"title":"Helpful Autism Diagnosis & Therapy FAQs | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/faqs","robots":"noindex,nofollow"},"production":{"route":"/faqs","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/lp/early-intervention","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:57.390Z","status":200,"title":"Helpful Autism Diagnosis & Therapy FAQs | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/faqs","locale":"en","robots":null},"sitemapLastmod":"2026-03-18"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/insurance","local":{"route":"/insurance","source":"src/content/pages/en/insurance.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/insurance","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/insurance","externalCanonical":false,"sitemapEligible":true,"title":"Arizona Autism Therapy Insurance Guide | AZ Institute for Autism","canonical":"https://www.azinstitute4autism.com/insurance","robots":"noindex,nofollow"},"production":{"route":"/insurance","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:58.140Z","status":200,"title":"Arizona Autism Therapy Insurance Guide | AZ Institute for Autism","canonical":"https://www.azinstitute4autism.com/insurance","locale":"en","robots":null},"sitemapLastmod":"2026-01-19"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/learner-social-club","local":{"route":"/learner-social-club","source":"src/content/pages/en/learner-social-club.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/learner-social-club","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/learner-social-club","externalCanonical":false,"sitemapEligible":true,"title":"Boost Emotional and Social Functioning with Learner Social Club at AIA","canonical":"https://www.azinstitute4autism.com/learner-social-club","robots":"noindex,nofollow"},"production":{"route":"/learner-social-club","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/es/learner-social-club","alternate:/learner-social-club","link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/learner-social-club","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:58.890Z","status":200,"title":"Boost Emotional and Social Functioning with Learner Social Club at AIA","canonical":"https://www.azinstitute4autism.com/learner-social-club","locale":"en","robots":null},"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/learnersocialclub","local":null,"production":{"route":"/learnersocialclub","discoveredAt":"2026-10-07T00:56:58.969Z","sources":["target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:59.640Z","status":301,"location":"https://www.azinstitute4autism.com/learner-social-club"}},"inProductionSitemap":false,"disposition":"production-redirect-only"},
{"route":"/library","local":{"route":"/library","source":"src/content/pages/en/library.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library","externalCanonical":false,"sitemapEligible":true,"title":"The Library at AZ Institute for Autism","canonical":"https://www.azinstitute4autism.com/library","robots":"noindex,nofollow"},"production":{"route":"/library","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/ar/library","alternate:/es/library","alternate:/library","link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/library","link:/es/library/page/2","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","seed:index","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:56:36.385Z","status":200,"title":"Library & News Room | Arizona Institute for Autism","canonical":null,"locale":"en-us","robots":null},"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/library/aac-visual-supports-autism","local":{"route":"/library/aac-visual-supports-autism","source":"src/content/blog/en/aac-visual-supports-autism.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aac-visual-supports-autism","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aac-visual-supports-autism","externalCanonical":false,"sitemapEligible":true,"title":"AAC and Visual Supports 101: Helping Your Child Be Heard","canonical":"https://www.azinstitute4autism.com/library/aac-visual-supports-autism","robots":"noindex,nofollow"},"production":{"route":"/library/aac-visual-supports-autism","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library/aba-school-readiness-arizona","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab/page/2","link:/library/autism-back-to-school-transition","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/aba-school-readiness-arizona","local":{"route":"/library/aba-school-readiness-arizona","source":"src/content/blog/en/aba-school-readiness-arizona.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aba-school-readiness-arizona","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aba-school-readiness-arizona","externalCanonical":false,"sitemapEligible":true,"title":"ABA School Readiness in Arizona | AIA Preparatory Academy (Ages 2–6)","canonical":"https://www.azinstitute4autism.com/library/aba-school-readiness-arizona","robots":"noindex,nofollow"},"production":{"route":"/library/aba-school-readiness-arizona","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/es/library/aba-school-readiness-arizona","alternate:/library/aba-school-readiness-arizona","link:/es/library/aba-school-readiness-arizona","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab/page/3","link:/library/autism-back-to-school-transition","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/does-aba-therapy-replace-school","link:/library/how-many-hours-aba-child-need","link:/library/page/3","link:/library/picky-eating-autism-parent-guide","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:00.390Z","status":200,"title":"ABA School Readiness in Arizona: A Parent Guide","canonical":"https://www.azinstitute4autism.com/library/aba-school-readiness-arizona","locale":"en-us","robots":null},"sitemapLastmod":"2026-09-17"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/library/aba-school-readiness-guide","local":{"route":"/library/aba-school-readiness-guide","source":"src/content/blog/en/aba-school-readiness-guide.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aba-school-readiness-guide","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aba-school-readiness-guide","externalCanonical":false,"sitemapEligible":true,"title":"Ease Back-to-School Time | ABA Antecedent & Consequence Interventions","canonical":"https://www.azinstitute4autism.com/library/aba-school-readiness-guide","robots":"noindex,nofollow"},"production":{"route":"/library/aba-school-readiness-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-08-13"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/aba-therapy-benefits","local":{"route":"/library/aba-therapy-benefits","source":"src/content/blog/en/aba-therapy-benefits.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aba-therapy-benefits","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aba-therapy-benefits","externalCanonical":false,"sitemapEligible":true,"title":"The Benefits of ABA Therapy for Children with Autism","canonical":"https://www.azinstitute4autism.com/library/aba-therapy-benefits","robots":"noindex,nofollow"},"production":{"route":"/library/aba-therapy-benefits","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/new-aia-scottsdale-office","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-16"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/aba-therapy-dtt-net-guide","local":{"route":"/library/aba-therapy-dtt-net-guide","source":"src/content/blog/en/aba-therapy-dtt-net-guide.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aba-therapy-dtt-net-guide","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aba-therapy-dtt-net-guide","externalCanonical":false,"sitemapEligible":true,"title":"Learn About DTT and NET Methods for More Effective ABA Therapy","canonical":"https://www.azinstitute4autism.com/library/aba-therapy-dtt-net-guide","robots":"noindex,nofollow"},"production":{"route":"/library/aba-therapy-dtt-net-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/4","link:/library/autism-daily-living-skills-challenges","link:/library/page/4","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-04-18"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/aba-therapy-prompting-parenting-benefits","local":{"route":"/library/aba-therapy-prompting-parenting-benefits","source":"src/content/blog/en/aba-therapy-prompting-parenting-benefits.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aba-therapy-prompting-parenting-benefits","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aba-therapy-prompting-parenting-benefits","externalCanonical":false,"sitemapEligible":true,"title":"Benefits of Prompting & Parenting in ABA Therapy","canonical":"https://www.azinstitute4autism.com/library/aba-therapy-prompting-parenting-benefits","robots":"noindex,nofollow"},"production":{"route":"/library/aba-therapy-prompting-parenting-benefits","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/4","link:/library/page/4","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-04-18"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/aba-therapy-summer-routine-tips","local":{"route":"/library/aba-therapy-summer-routine-tips","source":"src/content/blog/en/aba-therapy-summer-routine-tips.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aba-therapy-summer-routine-tips","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aba-therapy-summer-routine-tips","externalCanonical":false,"sitemapEligible":true,"title":"How to Support ABA Therapy Over Summer Break","canonical":"https://www.azinstitute4autism.com/library/aba-therapy-summer-routine-tips","robots":"noindex,nofollow"},"production":{"route":"/library/aba-therapy-summer-routine-tips","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/3","link:/library/page/3","link:/library/sleep-issues-autistic-children","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-10-04"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/aba-toilet-training-child-autism","local":{"route":"/library/aba-toilet-training-child-autism","source":"src/content/blog/en/aba-toilet-training-child-autism.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aba-toilet-training-child-autism","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aba-toilet-training-child-autism","externalCanonical":false,"sitemapEligible":true,"title":"Guide: Simple ABA Techniques for Toilet Training Children with Autism","canonical":"https://www.azinstitute4autism.com/library/aba-toilet-training-child-autism","robots":"noindex,nofollow"},"production":{"route":"/library/aba-toilet-training-child-autism","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/4","link:/library/autism-daily-living-skills-challenges","link:/library/page/4","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-16"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/aia-world-autism-community-day-celebration","local":{"route":"/library/aia-world-autism-community-day-celebration","source":"src/content/blog/en/aia-world-autism-community-day-celebration.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/aia-world-autism-community-day-celebration","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/aia-world-autism-community-day-celebration","externalCanonical":false,"sitemapEligible":true,"title":"AIA’s World Autism Community Day of Celebration","canonical":"https://www.azinstitute4autism.com/library/aia-world-autism-community-day-celebration","robots":"noindex,nofollow"},"production":{"route":"/library/aia-world-autism-community-day-celebration","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/asd-sensory-friendly-recipe-thanksgiving-pumpkin-cake","local":{"route":"/library/asd-sensory-friendly-recipe-thanksgiving-pumpkin-cake","source":"src/content/blog/en/asd-sensory-friendly-recipe-thanksgiving-pumpkin-cake.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/asd-sensory-friendly-recipe-thanksgiving-pumpkin-cake","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/asd-sensory-friendly-recipe-thanksgiving-pumpkin-cake","externalCanonical":false,"sitemapEligible":true,"title":"ASD Sensory-Friendly Thanksgiving Recipe: Pumpkin Dump Cake","canonical":"https://www.azinstitute4autism.com/library/asd-sensory-friendly-recipe-thanksgiving-pumpkin-cake","robots":"noindex,nofollow"},"production":{"route":"/library/asd-sensory-friendly-recipe-thanksgiving-pumpkin-cake","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/4","link:/library/community-highlight-meet-rula-diab","link:/library/page/4","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-05-21"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/asd-sensory-friendly-recipes-pancakes","local":{"route":"/library/asd-sensory-friendly-recipes-pancakes","source":"src/content/blog/en/asd-sensory-friendly-recipes-pancakes.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/asd-sensory-friendly-recipes-pancakes","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/asd-sensory-friendly-recipes-pancakes","externalCanonical":false,"sitemapEligible":true,"title":"ASD Sensory-Friendly Recipes: Pancakes","canonical":"https://www.azinstitute4autism.com/library/asd-sensory-friendly-recipes-pancakes","robots":"noindex,nofollow"},"production":{"route":"/library/asd-sensory-friendly-recipes-pancakes","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-16"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/author/rula-diab","local":null,"production":{"route":"/library/author/rula-diab","discoveredAt":"2026-10-07T00:56:36.385Z","sources":["alternate:/ar/library/author/rula-diab","alternate:/es/library/author/rula-diab","alternate:/library/author/rula-diab","link:/ar/library/author/rula-diab","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:01.140Z","status":200,"title":"Library & News Room | Arizona Institute for Autism | Rula Diab, Clinical Director, M.Ed, BCBA, LBA","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/library/author/rula-diab/page/1","local":null,"production":{"route":"/library/author/rula-diab/page/1","discoveredAt":"2026-10-07T00:57:19.895Z","sources":["link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6"],"references":[],"http":null},"inProductionSitemap":false,"disposition":"live-discovered-local-missing"},
{"route":"/library/author/rula-diab/page/2","local":null,"production":{"route":"/library/author/rula-diab/page/2","discoveredAt":"2026-10-07T00:57:01.140Z","sources":["link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:19.145Z","status":200,"title":"Library & News Room | Arizona Institute for Autism | Rula Diab, Clinical Director, M.Ed, BCBA, LBA (2)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/library/author/rula-diab/page/3","local":null,"production":{"route":"/library/author/rula-diab/page/3","discoveredAt":"2026-10-07T00:57:01.140Z","sources":["link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:19.895Z","status":200,"title":"Library & News Room | Arizona Institute for Autism | Rula Diab, Clinical Director, M.Ed, BCBA, LBA (3)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/library/author/rula-diab/page/4","local":null,"production":{"route":"/library/author/rula-diab/page/4","discoveredAt":"2026-10-07T00:57:01.140Z","sources":["link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:20.645Z","status":200,"title":"Library & News Room | Arizona Institute for Autism | Rula Diab, Clinical Director, M.Ed, BCBA, LBA (4)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/library/author/rula-diab/page/5","local":null,"production":{"route":"/library/author/rula-diab/page/5","discoveredAt":"2026-10-07T00:57:01.140Z","sources":["link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:21.395Z","status":200,"title":"Library & News Room | Arizona Institute for Autism | Rula Diab, Clinical Director, M.Ed, BCBA, LBA (5)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/library/author/rula-diab/page/6","local":null,"production":{"route":"/library/author/rula-diab/page/6","discoveredAt":"2026-10-07T00:57:01.140Z","sources":["link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:22.146Z","status":200,"title":"Library & News Room | Arizona Institute for Autism | Rula Diab, Clinical Director, M.Ed, BCBA, LBA (6)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/library/autism-after-school-meltdowns","local":null,"production":{"route":"/library/autism-after-school-meltdowns","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/autism-after-school-meltdowns","link:/es/library/aba-school-readiness-arizona","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/how-many-hours-aba-child-need","link:/library/picky-eating-autism-parent-guide","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:01.890Z","status":200,"title":"After-School Meltdowns in Autism: Why They Happen","canonical":"https://www.azinstitute4autism.com/library/autism-after-school-meltdowns","locale":"en-us","robots":null},"sitemapLastmod":"2026-09-02"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/autism-back-to-school-transition","local":null,"production":{"route":"/library/autism-back-to-school-transition","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/autism-back-to-school-transition","link:/library","link:/library/author/rula-diab","link:/library/autism-after-school-meltdowns","link:/library/autism-social-skills-by-age","link:/library/does-aba-therapy-replace-school","link:/library/how-many-hours-aba-child-need","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:02.640Z","status":200,"title":"Back-to-School Autism Transition: ABA Strategies","canonical":"https://www.azinstitute4autism.com/library/autism-back-to-school-transition","locale":"en-us","robots":null},"sitemapLastmod":"2026-09-10"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/autism-daily-living-skills-challenges","local":null,"production":{"route":"/library/autism-daily-living-skills-challenges","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/autism-daily-living-skills-challenges","link:/es/library/aba-school-readiness-arizona","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:03.390Z","status":200,"title":"Daily Living Challenges in Autism: Eating, Sleep & Self-Care","canonical":"https://www.azinstitute4autism.com/library/autism-daily-living-skills-challenges","locale":"en-us","robots":null},"sitemapLastmod":"2026-07-09"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/autism-evaluation-diagnosis-arizona-parent-guide","local":{"route":"/library/autism-evaluation-diagnosis-arizona-parent-guide","source":"src/content/blog/en/autism-evaluation-diagnosis-arizona-parent-guide.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/autism-evaluation-diagnosis-arizona-parent-guide","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/autism-evaluation-diagnosis-arizona-parent-guide","externalCanonical":false,"sitemapEligible":true,"title":"Autism Evaluation in Arizona: A Parent's Step-by-Step Guide","canonical":"https://www.azinstitute4autism.com/library/autism-evaluation-diagnosis-arizona-parent-guide","robots":"noindex,nofollow"},"production":{"route":"/library/autism-evaluation-diagnosis-arizona-parent-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/2","link:/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-01-01"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/autism-evaluation-what-to-expect","local":{"route":"/library/autism-evaluation-what-to-expect","source":"src/content/blog/en/autism-evaluation-what-to-expect.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/autism-evaluation-what-to-expect","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/autism-evaluation-what-to-expect","externalCanonical":false,"sitemapEligible":true,"title":"What to Expect at Your Child’s First Autism Evaluation","canonical":"https://www.azinstitute4autism.com/library/autism-evaluation-what-to-expect","robots":"noindex,nofollow"},"production":{"route":"/library/autism-evaluation-what-to-expect","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab/page/2","link:/library/page/2","link:/library/picky-eating-autism-parent-guide","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-03-10"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/autism-fall-break-routine-tips-halloween-thanksgiving","local":{"route":"/library/autism-fall-break-routine-tips-halloween-thanksgiving","source":"src/content/blog/en/autism-fall-break-routine-tips-halloween-thanksgiving.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/autism-fall-break-routine-tips-halloween-thanksgiving","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/autism-fall-break-routine-tips-halloween-thanksgiving","externalCanonical":false,"sitemapEligible":true,"title":"Autism and Fall Break: Routines, Halloween, and Thanksgiving Tips","canonical":"https://www.azinstitute4autism.com/library/autism-fall-break-routine-tips-halloween-thanksgiving","robots":"noindex,nofollow"},"production":{"route":"/library/autism-fall-break-routine-tips-halloween-thanksgiving","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab/page/2","link:/library/halloween-and-autism","link:/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:04.140Z","status":200,"title":"Autism and Fall Break: Routines and Transition Tips","canonical":"https://www.azinstitute4autism.com/library/autism-fall-break-routine-tips-halloween-thanksgiving","locale":"en-us","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/library/autism-family-self-care-tips","local":{"route":"/library/autism-family-self-care-tips","source":"src/content/blog/en/autism-family-self-care-tips.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/autism-family-self-care-tips","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/autism-family-self-care-tips","externalCanonical":false,"sitemapEligible":true,"title":"Discover Self‑Care Hacks for Parents of Children with Autism","canonical":"https://www.azinstitute4autism.com/library/autism-family-self-care-tips","robots":"noindex,nofollow"},"production":{"route":"/library/autism-family-self-care-tips","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/3","link:/library/autism-self-advocacy-skills-aba","link:/library/page/3","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/autism-friendships-social-play-support","local":{"route":"/library/autism-friendships-social-play-support","source":"src/content/blog/en/autism-friendships-social-play-support.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/autism-friendships-social-play-support","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/autism-friendships-social-play-support","externalCanonical":false,"sitemapEligible":true,"title":"Supporting Friendships and Social Play for Children with Autism","canonical":"https://www.azinstitute4autism.com/library/autism-friendships-social-play-support","robots":"noindex,nofollow"},"production":{"route":"/library/autism-friendships-social-play-support","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library/aba-school-readiness-arizona","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/autism-daily-living-skills-challenges","link:/library/autism-social-skills-by-age","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-06-01"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/autism-self-advocacy-skills-aba","local":{"route":"/library/autism-self-advocacy-skills-aba","source":"src/content/blog/en/autism-self-advocacy-skills-aba.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/autism-self-advocacy-skills-aba","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/autism-self-advocacy-skills-aba","externalCanonical":false,"sitemapEligible":true,"title":"Unlock Independence for Children with Autism Through ABA Self‑Advocacy","canonical":"https://www.azinstitute4autism.com/library/autism-self-advocacy-skills-aba","robots":"noindex,nofollow"},"production":{"route":"/library/autism-self-advocacy-skills-aba","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/autism-self-advocacy-skills-aba","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/halloween-and-autism","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:04.891Z","status":200,"title":"Unlock Independence for Children with Autism Through ABA Self‑Advocacy","canonical":"https://www.azinstitute4autism.com/library/autism-self-advocacy-skills-aba","locale":"en-us","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/library/autism-social-skills-by-age","local":null,"production":{"route":"/library/autism-social-skills-by-age","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/autism-social-skills-by-age","link:/library","link:/library/author/rula-diab","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/sleep-issues-autistic-children","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:05.642Z","status":200,"title":"Autism Social Skills by Age: Childhood to Teens | AIA","canonical":"https://www.azinstitute4autism.com/library/autism-social-skills-by-age","locale":"en-us","robots":null},"sitemapLastmod":"2026-09-24"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/autism-therapy-rapport-strategies","local":{"route":"/library/autism-therapy-rapport-strategies","source":"src/content/blog/en/autism-therapy-rapport-strategies.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/autism-therapy-rapport-strategies","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/autism-therapy-rapport-strategies","externalCanonical":false,"sitemapEligible":true,"title":"Learn the Secrets to Effective Rapport Building in ABA Therapy","canonical":"https://www.azinstitute4autism.com/library/autism-therapy-rapport-strategies","robots":"noindex,nofollow"},"production":{"route":"/library/autism-therapy-rapport-strategies","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/4","link:/library/page/4","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-04-18"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/behavior-management-functions-guide","local":{"route":"/library/behavior-management-functions-guide","source":"src/content/blog/en/behavior-management-functions-guide.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/behavior-management-functions-guide","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/behavior-management-functions-guide","externalCanonical":false,"sitemapEligible":true,"title":"Master Behavior Management: Discover the Four Functions of Behavior","canonical":"https://www.azinstitute4autism.com/library/behavior-management-functions-guide","robots":"noindex,nofollow"},"production":{"route":"/library/behavior-management-functions-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/4","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/page/4","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-04-18"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/behavior-modification-techniques-reinforcement-theory","local":{"route":"/library/behavior-modification-techniques-reinforcement-theory","source":"src/content/blog/en/behavior-modification-techniques-reinforcement-theory.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/behavior-modification-techniques-reinforcement-theory","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/behavior-modification-techniques-reinforcement-theory","externalCanonical":false,"sitemapEligible":true,"title":"The Ultimate Guide to Behavior Modification Techniques & Reinforcement Theory","canonical":"https://www.azinstitute4autism.com/library/behavior-modification-techniques-reinforcement-theory","robots":"noindex,nofollow"},"production":{"route":"/library/behavior-modification-techniques-reinforcement-theory","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-12-02"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/communication-social-skills-autistic-children-guide","local":{"route":"/library/communication-social-skills-autistic-children-guide","source":"src/content/blog/en/communication-social-skills-autistic-children-guide.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/communication-social-skills-autistic-children-guide","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/communication-social-skills-autistic-children-guide","externalCanonical":false,"sitemapEligible":true,"title":"Building Communication & Social Skills in Autistic Children","canonical":"https://www.azinstitute4autism.com/library/communication-social-skills-autistic-children-guide","robots":"noindex,nofollow"},"production":{"route":"/library/communication-social-skills-autistic-children-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/es/library/aba-school-readiness-arizona","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab/page/2","link:/library/autism-social-skills-by-age","link:/library/page/2","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-04-02"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/community-highlight-meet-rula-diab","local":{"route":"/library/community-highlight-meet-rula-diab","source":"src/content/blog/en/community-highlight-meet-rula-diab.md","draft":false,"placeholder":false,"sourceCanonical":"https://voyagephoenix.com/interview/community-highlights-meet-rula-diab-of-arizona-institute-for-autism/","locale":"en","generated":true,"eligible":true,"noindex":true,"policyCanonical":"https://voyagephoenix.com/interview/community-highlights-meet-rula-diab-of-arizona-institute-for-autism/","externalCanonical":true,"sitemapEligible":false,"title":"Community Highlights: Meet Rula Diab of Arizona Institute for Autism","canonical":"https://voyagephoenix.com/interview/community-highlights-meet-rula-diab-of-arizona-institute-for-autism/","robots":"noindex,nofollow"},"production":{"route":"/library/community-highlight-meet-rula-diab","discoveredAt":"2026-10-07T00:57:04.891Z","sources":["link:/library/author/rula-diab/page/4","link:/library/autism-self-advocacy-skills-aba","link:/library/new-aia-scottsdale-office","link:/library/page/4","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:06.392Z","status":200,"title":"Community Highlights: Meet Rula Diab of Arizona Institute for Autism","canonical":"https://voyagephoenix.com/interview/community-highlights-meet-rula-diab-of-arizona-institute-for-autism/","locale":"en-us","robots":"noindex"}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/library/critical-thinking-skills","local":{"route":"/library/critical-thinking-skills","source":"src/content/blog/en/critical-thinking-skills.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/critical-thinking-skills","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/critical-thinking-skills","externalCanonical":false,"sitemapEligible":true,"title":"Critical Thinking Skills for Children with Autism","canonical":"https://www.azinstitute4autism.com/library/critical-thinking-skills","robots":"noindex,nofollow"},"production":{"route":"/library/critical-thinking-skills","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/6","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-03-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/does-aba-therapy-replace-school","local":null,"production":{"route":"/library/does-aba-therapy-replace-school","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/does-aba-therapy-replace-school","link:/es/library/aba-school-readiness-arizona","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/how-many-hours-aba-child-need","link:/library/picky-eating-autism-parent-guide","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:07.143Z","status":200,"title":"Does ABA Therapy Replace School? A Parent Guide","canonical":"https://www.azinstitute4autism.com/library/does-aba-therapy-replace-school","locale":"en-us","robots":null},"sitemapLastmod":"2026-07-22"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/early-signs-autism-by-age","local":{"route":"/library/early-signs-autism-by-age","source":"src/content/blog/en/early-signs-autism-by-age.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/early-signs-autism-by-age","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/early-signs-autism-by-age","externalCanonical":false,"sitemapEligible":true,"title":"Early Signs of Autism by Age: 12 Months to 4 Years","canonical":"https://www.azinstitute4autism.com/library/early-signs-autism-by-age","robots":"noindex,nofollow"},"production":{"route":"/library/early-signs-autism-by-age","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/2","link:/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-03-10"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/emotional-regulation-aba","local":{"route":"/library/emotional-regulation-aba","source":"src/content/blog/en/emotional-regulation-aba.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/emotional-regulation-aba","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/emotional-regulation-aba","externalCanonical":false,"sitemapEligible":true,"title":"Why Emotional Regulation Should Be the Heart of Every ABA Program","canonical":"https://www.azinstitute4autism.com/library/emotional-regulation-aba","robots":"noindex,nofollow"},"production":{"route":"/library/emotional-regulation-aba","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab/page/2","link:/library/autism-after-school-meltdowns","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-11-06"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/enhancing-generalization-skills","local":{"route":"/library/enhancing-generalization-skills","source":"src/content/blog/en/enhancing-generalization-skills.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/enhancing-generalization-skills","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/enhancing-generalization-skills","externalCanonical":false,"sitemapEligible":true,"title":"Enhancing Generalization for Broader Impact in Autism","canonical":"https://www.azinstitute4autism.com/library/enhancing-generalization-skills","robots":"noindex,nofollow"},"production":{"route":"/library/enhancing-generalization-skills","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/executive-functioning-skills-autism","local":{"route":"/library/executive-functioning-skills-autism","source":"src/content/blog/en/executive-functioning-skills-autism.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/executive-functioning-skills-autism","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/executive-functioning-skills-autism","externalCanonical":false,"sitemapEligible":true,"title":"Executive Functioning Skills & Autism: Success Strategies Across Ages","canonical":"https://www.azinstitute4autism.com/library/executive-functioning-skills-autism","robots":"noindex,nofollow"},"production":{"route":"/library/executive-functioning-skills-autism","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-daily-living-skills-challenges","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-10-20"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/first-then-cards-autism-transitions","local":{"route":"/library/first-then-cards-autism-transitions","source":"src/content/blog/en/first-then-cards-autism-transitions.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/first-then-cards-autism-transitions","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/first-then-cards-autism-transitions","externalCanonical":false,"sitemapEligible":true,"title":"First/Then Cards: Empowering Transitions for Autistic Children","canonical":"https://www.azinstitute4autism.com/library/first-then-cards-autism-transitions","robots":"noindex,nofollow"},"production":{"route":"/library/first-then-cards-autism-transitions","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab/page/3","link:/library/autism-back-to-school-transition","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/halloween-and-autism","link:/library/page/3","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-12-02"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/halloween-and-autism","local":null,"production":{"route":"/library/halloween-and-autism","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/halloween-and-autism","link:/library","link:/library/author/rula-diab","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:07.894Z","status":200,"title":"Halloween and Autism: Sensory-Friendly Tips for Families","canonical":"https://www.azinstitute4autism.com/library/halloween-and-autism","locale":"en-us","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/heart-full-of-gratitude","local":{"route":"/library/heart-full-of-gratitude","source":"src/content/blog/en/heart-full-of-gratitude.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/heart-full-of-gratitude","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/heart-full-of-gratitude","externalCanonical":false,"sitemapEligible":true,"title":"Heart Full of Gratitude","canonical":"https://www.azinstitute4autism.com/library/heart-full-of-gratitude","robots":"noindex,nofollow"},"production":{"route":"/library/heart-full-of-gratitude","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/2","link:/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-12-15"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/how-many-hours-aba-child-need","local":null,"production":{"route":"/library/how-many-hours-aba-child-need","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/how-many-hours-aba-child-need","link:/library","link:/library/author/rula-diab","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:08.644Z","status":200,"title":"How Many Hours of ABA Does a Child Need?","canonical":"https://www.azinstitute4autism.com/library/how-many-hours-aba-child-need","locale":"en-us","robots":null},"sitemapLastmod":"2026-09-08"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/individualized-aba-therapy","local":{"route":"/library/individualized-aba-therapy","source":"src/content/blog/en/individualized-aba-therapy.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/individualized-aba-therapy","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/individualized-aba-therapy","externalCanonical":false,"sitemapEligible":true,"title":"Personalized ABA Therapy Plans | Schedule Your Free Consultation","canonical":"https://www.azinstitute4autism.com/library/individualized-aba-therapy","robots":"noindex,nofollow"},"production":{"route":"/library/individualized-aba-therapy","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/3","link:/library/autism-self-advocacy-skills-aba","link:/library/community-highlight-meet-rula-diab","link:/library/new-aia-scottsdale-office","link:/library/page/3","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-04-19"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/integrated-aba-model-announcement","local":{"route":"/library/integrated-aba-model-announcement","source":"src/content/blog/en/integrated-aba-model-announcement.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/integrated-aba-model-announcement","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/integrated-aba-model-announcement","externalCanonical":false,"sitemapEligible":true,"title":"Arizona Institute for Autism Adopts an Integrated ABA Model","canonical":"https://www.azinstitute4autism.com/library/integrated-aba-model-announcement","robots":"noindex,nofollow"},"production":{"route":"/library/integrated-aba-model-announcement","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-16"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/managing-aggressive-behavior-outbursts","local":{"route":"/library/managing-aggressive-behavior-outbursts","source":"src/content/blog/en/managing-aggressive-behavior-outbursts.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/managing-aggressive-behavior-outbursts","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/managing-aggressive-behavior-outbursts","externalCanonical":false,"sitemapEligible":true,"title":"Managing Aggressive Behavior Outbursts and Proper Communication with Your Child During those Moments","canonical":"https://www.azinstitute4autism.com/library/managing-aggressive-behavior-outbursts","robots":"noindex,nofollow"},"production":{"route":"/library/managing-aggressive-behavior-outbursts","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/6","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-03-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/meet-rula-diab-bcba","local":{"route":"/library/meet-rula-diab-bcba","source":"src/content/blog/en/meet-rula-diab-bcba.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/meet-rula-diab-bcba","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/meet-rula-diab-bcba","externalCanonical":false,"sitemapEligible":true,"title":"Meet Rula Diab | Board Certified Behavior Analyst (BCBA)","canonical":"https://www.azinstitute4autism.com/library/meet-rula-diab-bcba","robots":"noindex,nofollow"},"production":{"route":"/library/meet-rula-diab-bcba","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/new-aia-scottsdale-office","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-03-11"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/new-aia-scottsdale-office","local":{"route":"/library/new-aia-scottsdale-office","source":"src/content/blog/en/new-aia-scottsdale-office.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.scottsdale.org/airpark/features/integrity-empowerment-and-excellence-arizona-institute-for-autism-expands-to-new-office/article_79c31a18-2f35-11ee-9459-6f29f5a08420.html","locale":"en","generated":true,"eligible":true,"noindex":true,"policyCanonical":"https://www.scottsdale.org/airpark/features/integrity-empowerment-and-excellence-arizona-institute-for-autism-expands-to-new-office/article_79c31a18-2f35-11ee-9459-6f29f5a08420.html","externalCanonical":true,"sitemapEligible":false,"title":"Integrity, Empowerment and Excellence: Arizona Institute for Autism expands to new office","canonical":"https://www.scottsdale.org/airpark/features/integrity-empowerment-and-excellence-arizona-institute-for-autism-expands-to-new-office/article_79c31a18-2f35-11ee-9459-6f29f5a08420.html","robots":"noindex,nofollow"},"production":{"route":"/library/new-aia-scottsdale-office","discoveredAt":"2026-10-07T00:57:04.891Z","sources":["link:/library/author/rula-diab/page/4","link:/library/autism-self-advocacy-skills-aba","link:/library/community-highlight-meet-rula-diab","link:/library/page/4","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:09.394Z","status":200,"title":"Integrity, Empowerment and Excellence: Arizona Institute for Autism expands to new office","canonical":"https://www.scottsdale.org/airpark/features/integrity-empowerment-and-excellence-arizona-institute-for-autism-expands-to-new-office/article_79c31a18-2f35-11ee-9459-6f29f5a08420.html","locale":"en-us","robots":"noindex"}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/library/new-year-2024-autism-holiday-tips","local":{"route":"/library/new-year-2024-autism-holiday-tips","source":"src/content/blog/en/new-year-2024-autism-holiday-tips.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/new-year-2024-autism-holiday-tips","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/new-year-2024-autism-holiday-tips","externalCanonical":false,"sitemapEligible":true,"title":"New Year 2024: Holiday Tips for Autism Support & Awareness","canonical":"https://www.azinstitute4autism.com/library/new-year-2024-autism-holiday-tips","robots":"noindex,nofollow"},"production":{"route":"/library/new-year-2024-autism-holiday-tips","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/4","link:/library/page/4","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-16"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/new-year-goals-2023","local":{"route":"/library/new-year-goals-2023","source":"src/content/blog/en/new-year-goals-2023.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/new-year-goals-2023","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/new-year-goals-2023","externalCanonical":false,"sitemapEligible":true,"title":"New Year Goals for Our Children with Autism","canonical":"https://www.azinstitute4autism.com/library/new-year-goals-2023","robots":"noindex,nofollow"},"production":{"route":"/library/new-year-goals-2023","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-03-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/november-2022-aia-update","local":{"route":"/library/november-2022-aia-update","source":"src/content/blog/en/november-2022-aia-update.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/november-2022-aia-update","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/november-2022-aia-update","externalCanonical":false,"sitemapEligible":true,"title":"November AIA Update","canonical":"https://www.azinstitute4autism.com/library/november-2022-aia-update","robots":"noindex,nofollow"},"production":{"route":"/library/november-2022-aia-update","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/6","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-03-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/page/1","local":null,"production":{"route":"/library/page/1","discoveredAt":"2026-10-07T00:57:22.896Z","sources":["link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6"],"references":[],"http":null},"inProductionSitemap":false,"disposition":"live-discovered-local-missing"},
{"route":"/library/page/2","local":{"route":"/library/page/2","generated":true,"title":"The Library at AZ Institute for Autism | Page 2","canonical":"https://www.azinstitute4autism.com/library/page/2","locale":"en","robots":"noindex,nofollow"},"production":{"route":"/library/page/2","discoveredAt":"2026-10-07T00:56:36.385Z","sources":["link:/library","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:10.144Z","status":200,"title":"Library & News Room | Arizona Institute for Autism (2)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/library/page/3","local":{"route":"/library/page/3","generated":true,"title":"The Library at AZ Institute for Autism | Page 3","canonical":"https://www.azinstitute4autism.com/library/page/3","locale":"en","robots":"noindex,nofollow"},"production":{"route":"/library/page/3","discoveredAt":"2026-10-07T00:56:36.385Z","sources":["link:/library","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:22.896Z","status":200,"title":"Library & News Room | Arizona Institute for Autism (3)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/library/page/4","local":{"route":"/library/page/4","generated":true,"title":"The Library at AZ Institute for Autism | Page 4","canonical":"https://www.azinstitute4autism.com/library/page/4","locale":"en","robots":"noindex,nofollow"},"production":{"route":"/library/page/4","discoveredAt":"2026-10-07T00:56:36.385Z","sources":["link:/library","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:23.647Z","status":200,"title":"Library & News Room | Arizona Institute for Autism (4)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/library/page/5","local":{"route":"/library/page/5","generated":true,"title":"The Library at AZ Institute for Autism | Page 5","canonical":"https://www.azinstitute4autism.com/library/page/5","locale":"en","robots":"noindex,nofollow"},"production":{"route":"/library/page/5","discoveredAt":"2026-10-07T00:56:36.385Z","sources":["link:/library","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:24.397Z","status":200,"title":"Library & News Room | Arizona Institute for Autism (5)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/library/page/6","local":null,"production":{"route":"/library/page/6","discoveredAt":"2026-10-07T00:56:36.385Z","sources":["link:/library","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:25.147Z","status":200,"title":"Library & News Room | Arizona Institute for Autism (6)","canonical":null,"locale":"en-us","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/library/parents-guide-to-autism-and-aba","local":{"route":"/library/parents-guide-to-autism-and-aba","source":"src/content/blog/en/parents-guide-to-autism-and-aba.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/parents-guide-to-autism-and-aba","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/parents-guide-to-autism-and-aba","externalCanonical":false,"sitemapEligible":true,"title":"How to Help Your Autistic Child: A Parent & Caregiver Guide","canonical":"https://www.azinstitute4autism.com/library/parents-guide-to-autism-and-aba","robots":"noindex,nofollow"},"production":{"route":"/library/parents-guide-to-autism-and-aba","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/2","link:/library/page/2","link:/library/sleep-issues-autistic-children","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-04-02"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/picky-eating-autism-parent-guide","local":null,"production":{"route":"/library/picky-eating-autism-parent-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/picky-eating-autism-parent-guide","link:/library","link:/library/author/rula-diab","link:/library/autism-after-school-meltdowns","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/picky-eating-autism-parent-guide","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":["/library/picky-eating-autism-parent-guide#low-pressure-strategies-parents-can-try","/library/picky-eating-autism-parent-guide#what-is-food-chaining","/library/picky-eating-autism-parent-guide#when-restricted-eating-needs-professional-evaluation","/library/picky-eating-autism-parent-guide#which-professionals-can-help"],"http":{"checkedAt":"2026-10-07T00:57:10.894Z","status":200,"title":"Picky Eating and Autism: A Practical Parent Guide","canonical":"https://www.azinstitute4autism.com/library/picky-eating-autism-parent-guide","locale":"en-us","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/play-leisure-skills","local":{"route":"/library/play-leisure-skills","source":"src/content/blog/en/play-leisure-skills.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/play-leisure-skills","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/play-leisure-skills","externalCanonical":false,"sitemapEligible":true,"title":"Autism Play: Helping Autistic Children Build Play and Leisure Skills","canonical":"https://www.azinstitute4autism.com/library/play-leisure-skills","robots":"noindex,nofollow"},"production":{"route":"/library/play-leisure-skills","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/6","link:/library/autism-social-skills-by-age","link:/library/page/6","link:/library/sleep-issues-autistic-children","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2026-09-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/positive-reinforcement-techniques","local":{"route":"/library/positive-reinforcement-techniques","source":"src/content/blog/en/positive-reinforcement-techniques.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/positive-reinforcement-techniques","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/positive-reinforcement-techniques","externalCanonical":false,"sitemapEligible":true,"title":"Positive Reinforcement in ABA Therapy to Encourage Skill Development","canonical":"https://www.azinstitute4autism.com/library/positive-reinforcement-techniques","robots":"noindex,nofollow"},"production":{"route":"/library/positive-reinforcement-techniques","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab/page/3","link:/library/page/3","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-09"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/proactive-reactive-aba-strategies-guide","local":{"route":"/library/proactive-reactive-aba-strategies-guide","source":"src/content/blog/en/proactive-reactive-aba-strategies-guide.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/proactive-reactive-aba-strategies-guide","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/proactive-reactive-aba-strategies-guide","externalCanonical":false,"sitemapEligible":true,"title":"Master Proactive & Reactive ABA Techniques – Schedule a Consultation","canonical":"https://www.azinstitute4autism.com/library/proactive-reactive-aba-strategies-guide","robots":"noindex,nofollow"},"production":{"route":"/library/proactive-reactive-aba-strategies-guide","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-04-19"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/reduce-behavior-management","local":{"route":"/library/reduce-behavior-management","source":"src/content/blog/en/reduce-behavior-management.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/reduce-behavior-management","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/reduce-behavior-management","externalCanonical":false,"sitemapEligible":true,"title":"4 Ways on How to Reduce Behavior Management","canonical":"https://www.azinstitute4autism.com/library/reduce-behavior-management","robots":"noindex,nofollow"},"production":{"route":"/library/reduce-behavior-management","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/6","link:/library/page/6","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-16"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/repetitive-behavior","local":{"route":"/library/repetitive-behavior","source":"src/content/blog/en/repetitive-behavior.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/repetitive-behavior","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/repetitive-behavior","externalCanonical":false,"sitemapEligible":true,"title":"Repetitive Behaviors with Children Diagnosed with Autism","canonical":"https://www.azinstitute4autism.com/library/repetitive-behavior","robots":"noindex,nofollow"},"production":{"route":"/library/repetitive-behavior","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-16"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/sensory-processing","local":{"route":"/library/sensory-processing","source":"src/content/blog/en/sensory-processing.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/sensory-processing","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/sensory-processing","externalCanonical":false,"sitemapEligible":true,"title":"Understanding Sensory Processing in the Context of ABA Therapy","canonical":"https://www.azinstitute4autism.com/library/sensory-processing","robots":"noindex,nofollow"},"production":{"route":"/library/sensory-processing","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/4","link:/library/page/4","link:/library/sleep-issues-autistic-children","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-04-18"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/sleep-issues-autistic-children","local":null,"production":{"route":"/library/sleep-issues-autistic-children","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/library/sleep-issues-autistic-children","link:/library","link:/library/author/rula-diab","link:/library/autism-social-skills-by-age","link:/library/halloween-and-autism","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:11.644Z","status":200,"title":"Sleep Problems in Autism: Causes, Tips & When to Get Help","canonical":"https://www.azinstitute4autism.com/library/sleep-issues-autistic-children","locale":"en-us","robots":null},"sitemapLastmod":"2026-09-28"},"inProductionSitemap":true,"disposition":"live-only-verified"},
{"route":"/library/social-pragmatic-communication-autism","local":{"route":"/library/social-pragmatic-communication-autism","source":"src/content/blog/en/social-pragmatic-communication-autism.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/social-pragmatic-communication-autism","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/social-pragmatic-communication-autism","externalCanonical":false,"sitemapEligible":true,"title":"Why My Child Can Talk but Still Struggles Socially","canonical":"https://www.azinstitute4autism.com/library/social-pragmatic-communication-autism","robots":"noindex,nofollow"},"production":{"route":"/library/social-pragmatic-communication-autism","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/2","link:/library/autism-daily-living-skills-challenges","link:/library/page/2","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-12-02"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/library/understanding-autism-support","local":{"route":"/library/understanding-autism-support","source":"src/content/blog/en/understanding-autism-support.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/library/understanding-autism-support","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/library/understanding-autism-support","externalCanonical":false,"sitemapEligible":true,"title":"Navigating the Autism Journey: Understanding and Supporting Our Children with Autism","canonical":"https://www.azinstitute4autism.com/library/understanding-autism-support","robots":"noindex,nofollow"},"production":{"route":"/library/understanding-autism-support","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/library/author/rula-diab/page/5","link:/library/page/5","sitemap:https://www.azinstitute4autism.com/sitemap.xml"],"references":[],"http":null,"sitemapLastmod":"2025-09-16"},"inProductionSitemap":true,"disposition":"both-discovered-http-unverified"},
{"route":"/lp/early-intervention","local":null,"production":{"route":"/lp/early-intervention","discoveredAt":"2026-10-07T00:57:08.644Z","sources":["link:/library/how-many-hours-aba-child-need","link:/lp/early-intervention","target:baseline-or-missing"],"references":["/lp/early-intervention#consultation"],"http":{"checkedAt":"2026-10-07T00:57:12.394Z","status":200,"title":"Early Autism Intervention Makes a Difference","canonical":null,"locale":"en","robots":null}},"inProductionSitemap":false,"disposition":"live-only-verified"},
{"route":"/privacy-policy","local":{"route":"/privacy-policy","source":"src/content/pages/en/privacy-policy.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/privacy-policy","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/privacy-policy","externalCanonical":false,"sitemapEligible":true,"title":"Privacy Policy | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/privacy-policy","robots":"noindex,nofollow"},"production":{"route":"/privacy-policy","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/es/privacy-policy","alternate:/privacy-policy","link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/lp/early-intervention","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:13.145Z","status":200,"title":"Privacy Policy | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/privacy-policy","locale":"en","robots":null},"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/referrals","local":{"route":"/referrals","source":"src/content/pages/en/referrals.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/referrals","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/referrals","externalCanonical":false,"sitemapEligible":true,"title":"Submit Your Autism Referral Online | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/referrals","robots":"noindex,nofollow"},"production":{"route":"/referrals","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:13.895Z","status":200,"title":"Submit Your Autism Referral Online | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/referrals","locale":"en","robots":null},"sitemapLastmod":"2026-10-03"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/schedule-consultation","local":{"route":"/schedule-consultation","source":"src/content/pages/en/schedule-consultation.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/schedule-consultation","locale":"en","generated":true,"eligible":true,"noindex":true,"policyCanonical":"https://www.azinstitute4autism.com/schedule-consultation","externalCanonical":false,"sitemapEligible":false,"title":"Contact Arizona Institute for Autism for Your Free ASD Consultation","canonical":"https://www.azinstitute4autism.com/schedule-consultation","robots":"noindex,nofollow"},"production":{"route":"/schedule-consultation","discoveredAt":"2026-10-07T00:57:14.075Z","sources":["target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:14.645Z","status":200,"title":"Contact Arizona Institute for Autism for Your Free ASD Consultation","canonical":"https://www.azinstitute4autism.com/schedule-consultation","locale":"en","robots":"noindex"}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/search","local":{"route":"/search","generated":true,"title":"Search the Library | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/search","locale":"en","robots":"noindex,nofollow"},"production":{"route":"/search","discoveredAt":"2026-10-07T00:56:34.885Z","sources":["form:/","form:/aba-therapy","form:/aba-therapy-intake-process","form:/about","form:/ar/library","form:/ar/library/author/rula-diab","form:/autism-evaluations","form:/careers","form:/client-consultation","form:/client-forms","form:/contact","form:/donate-autism-giveback","form:/employee-portal","form:/es/aba-therapy","form:/es/aba-therapy-intake-process","form:/es/autism-evaluations","form:/es/client-consultation","form:/es/contact","form:/es/learner-social-club","form:/es/library","form:/es/library/aba-school-readiness-arizona","form:/es/library/author/rula-diab","form:/es/library/author/rula-diab/page/2","form:/es/library/page/2","form:/es/privacy-policy","form:/es/services","form:/faqs","form:/insurance","form:/learner-social-club","form:/library","form:/library/aba-school-readiness-arizona","form:/library/author/rula-diab","form:/library/author/rula-diab/page/2","form:/library/author/rula-diab/page/3","form:/library/author/rula-diab/page/4","form:/library/author/rula-diab/page/5","form:/library/author/rula-diab/page/6","form:/library/autism-after-school-meltdowns","form:/library/autism-back-to-school-transition","form:/library/autism-daily-living-skills-challenges","form:/library/autism-fall-break-routine-tips-halloween-thanksgiving","form:/library/autism-self-advocacy-skills-aba","form:/library/autism-social-skills-by-age","form:/library/community-highlight-meet-rula-diab","form:/library/does-aba-therapy-replace-school","form:/library/halloween-and-autism","form:/library/how-many-hours-aba-child-need","form:/library/new-aia-scottsdale-office","form:/library/page/2","form:/library/page/3","form:/library/page/4","form:/library/page/5","form:/library/page/6","form:/library/picky-eating-autism-parent-guide","form:/library/sleep-issues-autistic-children","form:/privacy-policy","form:/referrals","form:/search","form:/services","form:/team","form:/tour","target:baseline-or-missing"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:15.395Z","status":200,"title":"","canonical":null,"locale":"en","robots":null}},"inProductionSitemap":false,"disposition":"both-route-present-content-unverified"},
{"route":"/services","local":{"route":"/services","source":"src/content/pages/en/services.mdx","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/services","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/services","externalCanonical":false,"sitemapEligible":true,"title":"Behavioral, Psychological, and Sociological Pediatric Autism Services","canonical":"https://www.azinstitute4autism.com/services","robots":"noindex,nofollow"},"production":{"route":"/services","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["alternate:/es/services","alternate:/services","link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:16.145Z","status":200,"title":"Behavioral, Psychological, and Sociological Pediatric Autism Services","canonical":"https://www.azinstitute4autism.com/services","locale":"en","robots":null},"sitemapLastmod":"2026-05-12"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/team","local":{"route":"/team","source":"src/content/pages/en/team.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/team","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/team","externalCanonical":false,"sitemapEligible":true,"title":"Meet Our Dedicated Autism Support Team | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/team","robots":"noindex,nofollow"},"production":{"route":"/team","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:16.895Z","status":200,"title":"Meet Our Dedicated Autism Support Team | Arizona Institute for Autism","canonical":"https://www.azinstitute4autism.com/team","locale":"en","robots":null},"sitemapLastmod":"2026-07-16"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"},
{"route":"/tour","local":{"route":"/tour","source":"src/content/pages/en/tour.md","draft":false,"placeholder":false,"sourceCanonical":"https://www.azinstitute4autism.com/tour","locale":"en","generated":true,"eligible":true,"noindex":false,"policyCanonical":"https://www.azinstitute4autism.com/tour","externalCanonical":false,"sitemapEligible":true,"title":"Tour Arizona's Premier Autism Therapy Center | Schedule Your AIA Visit","canonical":"https://www.azinstitute4autism.com/tour","robots":"noindex,nofollow"},"production":{"route":"/tour","discoveredAt":"2026-10-07T00:56:34.134Z","sources":["link:/","link:/aba-therapy","link:/aba-therapy-intake-process","link:/about","link:/ar/library","link:/ar/library/author/rula-diab","link:/autism-evaluations","link:/careers","link:/client-consultation","link:/client-forms","link:/contact","link:/donate-autism-giveback","link:/employee-portal","link:/es/aba-therapy","link:/es/aba-therapy-intake-process","link:/es/autism-evaluations","link:/es/client-consultation","link:/es/contact","link:/es/learner-social-club","link:/es/library","link:/es/library/aba-school-readiness-arizona","link:/es/library/author/rula-diab","link:/es/library/author/rula-diab/page/2","link:/es/library/page/2","link:/es/privacy-policy","link:/es/services","link:/faqs","link:/insurance","link:/learner-social-club","link:/library","link:/library/aba-school-readiness-arizona","link:/library/author/rula-diab","link:/library/author/rula-diab/page/2","link:/library/author/rula-diab/page/3","link:/library/author/rula-diab/page/4","link:/library/author/rula-diab/page/5","link:/library/author/rula-diab/page/6","link:/library/autism-after-school-meltdowns","link:/library/autism-back-to-school-transition","link:/library/autism-daily-living-skills-challenges","link:/library/autism-fall-break-routine-tips-halloween-thanksgiving","link:/library/autism-self-advocacy-skills-aba","link:/library/autism-social-skills-by-age","link:/library/community-highlight-meet-rula-diab","link:/library/does-aba-therapy-replace-school","link:/library/halloween-and-autism","link:/library/how-many-hours-aba-child-need","link:/library/new-aia-scottsdale-office","link:/library/page/2","link:/library/page/3","link:/library/page/4","link:/library/page/5","link:/library/page/6","link:/library/picky-eating-autism-parent-guide","link:/library/sleep-issues-autistic-children","link:/privacy-policy","link:/referrals","link:/search","link:/services","link:/team","link:/tour","sitemap:https://www.azinstitute4autism.com/sitemap.xml","target:local-or-baseline"],"references":[],"http":{"checkedAt":"2026-10-07T00:57:17.645Z","status":200,"title":"Tour Arizona's Premier Autism Therapy Center | Schedule Your AIA Visit","canonical":"https://www.azinstitute4autism.com/tour","locale":"en","robots":null},"sitemapLastmod":"2025-05-28"},"inProductionSitemap":true,"disposition":"both-route-present-content-unverified"}
]
}
@@ -0,0 +1,53 @@
---
import {
libraryPageRoute,
type LibraryPageSlice
} from '../utils/library-pagination';
import type { LibraryLocale } from '../utils/library-catalog';
interface Props {
locale: LibraryLocale;
page: LibraryPageSlice<unknown>;
}
const { locale, page } = Astro.props;
const messages = {
en: { navigation: 'Library pagination', previous: 'Previous', next: 'Next', page: 'Page', current: 'current page' },
es: { navigation: 'Paginación de la biblioteca', previous: 'Anterior', next: 'Siguiente', page: 'Página', current: 'página actual' },
ar: { navigation: 'ترقيم صفحات المكتبة', previous: 'السابق', next: 'التالي', page: 'الصفحة', current: 'الصفحة الحالية' }
}[locale];
const pages = Array.from({ length: page.totalPages }, (_, index) => index + 1);
---
{page.totalPages > 1 && (
<nav class="library-pagination" aria-label={messages.navigation}>
<ul>
{page.previousPage && (
<li class="library-pagination__previous">
<a rel="prev" href={libraryPageRoute(locale, page.previousPage)}>{messages.previous}</a>
</li>
)}
{pages.map((number) => (
<li>
<a
href={libraryPageRoute(locale, number)}
aria-current={number === page.currentPage ? 'page' : undefined}
aria-label={`${messages.page} ${number}${number === page.currentPage ? `, ${messages.current}` : ''}`}
>{number}</a>
</li>
))}
{page.nextPage && (
<li class="library-pagination__next">
<a rel="next" href={libraryPageRoute(locale, page.nextPage)}>{messages.next}</a>
</li>
)}
</ul>
</nav>
)}
<style>
.library-pagination { margin-top: 2rem; }
.library-pagination ul { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; list-style: none; margin: 0; padding: 0; }
.library-pagination a { align-items: center; border: 2px solid var(--color-primary); border-radius: 4px; color: var(--color-primary); display: inline-flex; font-weight: 700; justify-content: center; min-height: 44px; min-width: 44px; padding: .5rem .75rem; text-decoration: none; }
.library-pagination a[aria-current="page"] { background: var(--color-primary); color: white; }
.library-pagination a:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
</style>
+16 -4
View File
@@ -1,13 +1,25 @@
--- ---
import { getLibraryCatalog } from '../../utils/library'; import { getLibraryCatalog } from '../../utils/library';
import { paginateLibraryItems } from '../../utils/library-pagination';
import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro'; import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro';
import BlogCard from '../BlogCard.astro'; import BlogCard from '../BlogCard.astro';
import LibrarySearch from '../LibrarySearch.astro'; import LibrarySearch from '../LibrarySearch.astro';
const posts = (await getLibraryCatalog()).byLocale.ar.map(({ entry }) => entry); import LibraryPagination from '../LibraryPagination.astro';
const popular = posts.slice(0, 5); interface Props { page?: number; }
const { page = 1 } = Astro.props;
const allPosts = (await getLibraryCatalog()).byLocale.ar;
const pagination = paginateLibraryItems(allPosts, page);
if (!pagination) throw new Error(`Invalid Arabic Library page: ${page}`);
const posts = pagination.items.map(({ entry }) => entry);
const popular = allPosts.slice(0, 5).map(({ entry }) => entry);
const heading = 'مكتبة معهد أريزونا للتوحد';
const title = page === 1 ? heading : `${heading} | الصفحة ${page}`;
--- ---
<BlogIndexLayout title="مكتبة معهد أريزونا للتوحد" description="مقالات إخبارية حول علاج تحليل السلوك التطبيقي والتعليم الخاص، ودراسات حالة، ووصفات، ومقالات افتتاحية، ودروس تعليمية." lang="ar"> <BlogIndexLayout title={title} heading={heading} description="مقالات إخبارية حول علاج تحليل السلوك التطبيقي والتعليم الخاص، ودراسات حالة، ووصفات، ومقالات افتتاحية، ودروس تعليمية." lang="ar">
<div id="library-results-ar" class="library-search-results" hidden></div> <div id="library-results-ar" class="library-search-results" hidden></div>
<div id="library-archive-ar" class="blog-list">{posts.map((post) => <BlogCard post={post} prefix="/ar" />)}</div> <div id="library-archive-ar" class="library-archive">
<div class="blog-list">{posts.map((post) => <BlogCard post={post} prefix="/ar" />)}</div>
<LibraryPagination locale="ar" page={pagination} />
</div>
<aside class="library-sidebar"><LibrarySearch locale="ar" archiveId="library-archive-ar" resultsId="library-results-ar" /><h2>المقالات الشائعة</h2><ul>{popular.map((post) => <li><a href={`/ar/library/${post.data.slug}`}>{post.data.title}</a></li>)}</ul></aside> <aside class="library-sidebar"><LibrarySearch locale="ar" archiveId="library-archive-ar" resultsId="library-results-ar" /><h2>المقالات الشائعة</h2><ul>{popular.map((post) => <li><a href={`/ar/library/${post.data.slug}`}>{post.data.title}</a></li>)}</ul></aside>
</BlogIndexLayout> </BlogIndexLayout>
+17 -4
View File
@@ -1,13 +1,23 @@
--- ---
import { getLibraryCatalog } from '../../utils/library'; import { getLibraryCatalog } from '../../utils/library';
import { paginateLibraryItems } from '../../utils/library-pagination';
import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro'; import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro';
import BlogCard from '../BlogCard.astro'; import BlogCard from '../BlogCard.astro';
import LibrarySearch from '../LibrarySearch.astro'; import LibrarySearch from '../LibrarySearch.astro';
const posts = (await getLibraryCatalog()).byLocale.en.map(({ entry }) => entry); import LibraryPagination from '../LibraryPagination.astro';
const popular = posts.slice(0, 5); interface Props { page?: number; }
const { page = 1 } = Astro.props;
const allPosts = (await getLibraryCatalog()).byLocale.en;
const pagination = paginateLibraryItems(allPosts, page);
if (!pagination) throw new Error(`Invalid English Library page: ${page}`);
const posts = pagination.items.map(({ entry }) => entry);
const popular = allPosts.slice(0, 5).map(({ entry }) => entry);
const heading = 'The Library at AZ Institute for Autism';
const title = page === 1 ? heading : `${heading} | Page ${page}`;
--- ---
<BlogIndexLayout <BlogIndexLayout
title="The Library at AZ Institute for Autism" title={title}
heading={heading}
description="Welcome to the Library at AIA, where we share valuable insights, strategies, and resources to support individuals with autism, their families, and professionals in the field. Our articles explore key topics in Applied Behavior Analysis (ABA) therapy, community events, success stories, and expert guidance." description="Welcome to the Library at AIA, where we share valuable insights, strategies, and resources to support individuals with autism, their families, and professionals in the field. Our articles explore key topics in Applied Behavior Analysis (ABA) therapy, community events, success stories, and expert guidance."
intro={[ intro={[
"Welcome to the Library at AIA, where we share valuable insights, strategies, and resources to support individuals with autism, their families, and professionals in the field. Our articles explore key topics in Applied Behavior Analysis (ABA) therapy, including teaching self-advocacy, proactive and reactive strategies, and innovative intervention techniques.", "Welcome to the Library at AIA, where we share valuable insights, strategies, and resources to support individuals with autism, their families, and professionals in the field. Our articles explore key topics in Applied Behavior Analysis (ABA) therapy, including teaching self-advocacy, proactive and reactive strategies, and innovative intervention techniques.",
@@ -15,7 +25,10 @@ const popular = posts.slice(0, 5);
]} ]}
> >
<div id="library-results-en" class="library-search-results" hidden></div> <div id="library-results-en" class="library-search-results" hidden></div>
<div id="library-archive-en" class="blog-list">{posts.map((post) => <BlogCard post={post} />)}</div> <div id="library-archive-en" class="library-archive">
<div class="blog-list">{posts.map((post) => <BlogCard post={post} />)}</div>
<LibraryPagination locale="en" page={pagination} />
</div>
<aside class="library-sidebar"> <aside class="library-sidebar">
<LibrarySearch locale="en" archiveId="library-archive-en" resultsId="library-results-en" /> <LibrarySearch locale="en" archiveId="library-archive-en" resultsId="library-results-en" />
<h2>Popular Posts</h2> <h2>Popular Posts</h2>
+16 -4
View File
@@ -1,13 +1,25 @@
--- ---
import { getLibraryCatalog } from '../../utils/library'; import { getLibraryCatalog } from '../../utils/library';
import { paginateLibraryItems } from '../../utils/library-pagination';
import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro'; import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro';
import BlogCard from '../BlogCard.astro'; import BlogCard from '../BlogCard.astro';
import LibrarySearch from '../LibrarySearch.astro'; import LibrarySearch from '../LibrarySearch.astro';
const posts = (await getLibraryCatalog()).byLocale.es.map(({ entry }) => entry); import LibraryPagination from '../LibraryPagination.astro';
const popular = posts.slice(0, 5); interface Props { page?: number; }
const { page = 1 } = Astro.props;
const allPosts = (await getLibraryCatalog()).byLocale.es;
const pagination = paginateLibraryItems(allPosts, page);
if (!pagination) throw new Error(`Invalid Spanish Library page: ${page}`);
const posts = pagination.items.map(({ entry }) => entry);
const popular = allPosts.slice(0, 5).map(({ entry }) => entry);
const heading = 'La Biblioteca en AZ Institute for Autism';
const title = page === 1 ? heading : `${heading} | Página ${page}`;
--- ---
<BlogIndexLayout title="La Biblioteca en AZ Institute for Autism" description="Noticias sobre terapia ABA y educación especial, casos de estudio, recetas, editoriales y tutoriales para y sobre nuestros estudiantes con autismo." lang="es"> <BlogIndexLayout title={title} heading={heading} description="Noticias sobre terapia ABA y educación especial, casos de estudio, recetas, editoriales y tutoriales para y sobre nuestros estudiantes con autismo." lang="es">
<div id="library-results-es" class="library-search-results" hidden></div> <div id="library-results-es" class="library-search-results" hidden></div>
<div id="library-archive-es" class="blog-list">{posts.map((post) => <BlogCard post={post} prefix="/es" />)}</div> <div id="library-archive-es" class="library-archive">
<div class="blog-list">{posts.map((post) => <BlogCard post={post} prefix="/es" />)}</div>
<LibraryPagination locale="es" page={pagination} />
</div>
<aside class="library-sidebar"><LibrarySearch locale="es" archiveId="library-archive-es" resultsId="library-results-es" /><h2>Publicaciones populares</h2><ul>{popular.map((post) => <li><a href={`/es/library/${post.data.slug}`}>{post.data.title}</a></li>)}</ul></aside> <aside class="library-sidebar"><LibrarySearch locale="es" archiveId="library-archive-es" resultsId="library-results-es" /><h2>Publicaciones populares</h2><ul>{popular.map((post) => <li><a href={`/es/library/${post.data.slug}`}>{post.data.title}</a></li>)}</ul></aside>
</BlogIndexLayout> </BlogIndexLayout>
+21 -3
View File
@@ -3,18 +3,36 @@
"from": "/aba", "from": "/aba",
"to": "/aba-therapy", "to": "/aba-therapy",
"status": 301, "status": 301,
"reason": "Brief alias to preserved mirror URL" "reason": "Brief legacy alias to preserved URL"
}, },
{ {
"from": "/autismevaluations", "from": "/autismevaluations",
"to": "/autism-evaluations", "to": "/autism-evaluations",
"status": 301, "status": 301,
"reason": "Brief alias to preserved mirror URL" "reason": "Brief legacy alias to preserved URL"
}, },
{ {
"from": "/learnersocialclub", "from": "/learnersocialclub",
"to": "/learner-social-club", "to": "/learner-social-club",
"status": 301, "status": 301,
"reason": "Brief alias to preserved mirror URL" "reason": "Brief legacy alias to preserved URL"
},
{
"from": "/library/page/1",
"to": "/library",
"status": 301,
"reason": "Library first-page alias"
},
{
"from": "/es/library/page/1",
"to": "/es/library",
"status": 301,
"reason": "Spanish Library first-page alias"
},
{
"from": "/ar/library/page/1",
"to": "/ar/library",
"status": 301,
"reason": "Arabic Library first-page alias"
} }
] ]
+4 -3
View File
@@ -5,16 +5,17 @@ import { getPublication } from '../utils/publication';
interface Props { interface Props {
title: string; title: string;
heading?: string;
description: string; description: string;
intro?: string[]; intro?: string[];
lang?: 'en' | 'ar' | 'es'; lang?: 'en' | 'ar' | 'es';
} }
const { title, description, intro = [], lang = 'en' } = Astro.props; const { title, heading, description, intro = [], lang = 'en' } = Astro.props;
const { entry } = await getPublication(Astro.url.pathname); const { entry } = await getPublication(Astro.url.pathname);
--- ---
<BaseLayout title={title} description={description} lang={lang}> <BaseLayout title={title} description={description} lang={lang}>
<PageHero title={entry.data.displayH1 ?? title} image="/assets/images/hero-library-index.webp" eyebrow="Welcome to" constrain /> <PageHero title={entry.data.displayH1 ?? heading ?? title} image="/assets/images/hero-library-index.webp" eyebrow="Welcome to" constrain />
<section class="library-intro"> <section class="library-intro">
<div class="container"> <div class="container">
<h2>Library</h2> <h2>Library</h2>
@@ -34,7 +35,7 @@ const { entry } = await getPublication(Astro.url.pathname);
:global(.library-sidebar li) { border-bottom: 1px solid var(--color-border); padding-block: .65rem; } :global(.library-sidebar li) { border-bottom: 1px solid var(--color-border); padding-block: .65rem; }
:global(.library-sidebar a) { color: var(--color-primary); font-size: .9rem; } :global(.library-sidebar a) { color: var(--color-primary); font-size: .9rem; }
:global(.blog-list) { display: block; } :global(.blog-list) { display: block; }
:global(.library-search-results[hidden]), :global(.blog-list[hidden]) { display: none; } :global(.library-search-results[hidden]), :global(.library-archive[hidden]), :global(.blog-list[hidden]) { display: none; }
:global(.library-search-results h2) { margin-top: 0; } :global(.library-search-results h2) { margin-top: 0; }
:global(.library-search-result) { border-bottom: 1px solid var(--color-border); margin-bottom: 2rem; padding-bottom: 1.5rem; } :global(.library-search-result) { border-bottom: 1px solid var(--color-border); margin-bottom: 2rem; padding-bottom: 1.5rem; }
:global(.library-search-result h3) { font-family: var(--font-body); margin-bottom: .65rem; } :global(.library-search-result h3) { font-family: var(--font-body); margin-bottom: .65rem; }
+14 -7
View File
@@ -1,6 +1,7 @@
--- ---
import { render } from 'astro:content'; import { render, type CollectionEntry } from 'astro:content';
import { getPublicationManifest } from '../utils/publication'; import { getRoutePublicationManifest } from '../utils/publication';
import type { LibraryPageDescriptor } from '../utils/library-pagination';
import PageLayout from '../layouts/PageLayout.astro'; import PageLayout from '../layouts/PageLayout.astro';
import BlogPostLayout from '../layouts/BlogPostLayout.astro'; import BlogPostLayout from '../layouts/BlogPostLayout.astro';
import HomePage from '../components/pages/HomePage.astro'; import HomePage from '../components/pages/HomePage.astro';
@@ -9,12 +10,18 @@ import LibraryEnglish from '../components/pages/LibraryEnglish.astro';
import LibrarySpanish from '../components/pages/LibrarySpanish.astro'; import LibrarySpanish from '../components/pages/LibrarySpanish.astro';
import LibraryArabic from '../components/pages/LibraryArabic.astro'; import LibraryArabic from '../components/pages/LibraryArabic.astro';
export async function getStaticPaths() { export async function getStaticPaths() {
return (await getPublicationManifest()).filter((page) => page.eligible).map(({ route, entry }) => ({ return (await getRoutePublicationManifest()).filter((page) => page.eligible).map((publication) => ({
params: { slug: route === '/' ? undefined : decodeURI(route.slice(1)) }, params: { slug: publication.route === '/' ? undefined : decodeURI(publication.route.slice(1)) },
props: { entry } props: {
entry: publication.entry,
libraryPage: 'libraryPage' in publication ? publication.libraryPage : undefined
}
})); }));
} }
const { entry } = Astro.props; const { entry, libraryPage } = Astro.props as {
entry: CollectionEntry<'pages'> | CollectionEntry<'blog'>;
libraryPage?: LibraryPageDescriptor;
};
const { Content } = await render(entry); const { Content } = await render(entry);
--- ---
{entry.collection === 'blog' {entry.collection === 'blog'
@@ -22,5 +29,5 @@ const { Content } = await render(entry);
: entry.data.slug === 'index' : entry.data.slug === 'index'
? entry.data.lang === 'ar' ? <ArabicHome /> : <HomePage entry={entry} /> ? entry.data.lang === 'ar' ? <ArabicHome /> : <HomePage entry={entry} />
: entry.data.slug === 'library' : entry.data.slug === 'library'
? entry.data.lang === 'es' ? <LibrarySpanish /> : entry.data.lang === 'ar' ? <LibraryArabic /> : <LibraryEnglish /> ? entry.data.lang === 'es' ? <LibrarySpanish page={libraryPage?.currentPage} /> : entry.data.lang === 'ar' ? <LibraryArabic page={libraryPage?.currentPage} /> : <LibraryEnglish page={libraryPage?.currentPage} />
: <PageLayout entry={entry}><Content /></PageLayout>} : <PageLayout entry={entry}><Content /></PageLayout>}
+2 -2
View File
@@ -1,8 +1,8 @@
import { allowIndexing, getPublicationManifest } from '../utils/publication'; import { allowIndexing, getRoutePublicationManifest } from '../utils/publication';
import { renderSitemap } from '../utils/publication-policy'; import { renderSitemap } from '../utils/publication-policy';
export async function GET() { export async function GET() {
return new Response(renderSitemap(await getPublicationManifest(), allowIndexing), { return new Response(renderSitemap(await getRoutePublicationManifest(), allowIndexing), {
headers: { 'Content-Type': 'application/xml; charset=utf-8' } headers: { 'Content-Type': 'application/xml; charset=utf-8' }
}); });
} }
+128
View File
@@ -0,0 +1,128 @@
import {
publicationFor,
type PublicationEntry,
type TranslatedPublication
} from './publication-policy.ts';
import {
libraryLocales,
type LibraryCatalog,
type LibraryBlogEntry,
type LibraryLocale
} from './library-catalog.ts';
export const LIBRARY_PAGE_SIZE = 10;
export interface LibraryPageSlice<T> {
currentPage: number;
totalItems: number;
/** Number of nonempty pages. A valid empty root archive reports zero. */
totalPages: number;
previousPage: number | null;
nextPage: number | null;
items: T[];
}
export interface LibraryPageDescriptor {
locale: LibraryLocale;
currentPage: number;
totalItems: number;
totalPages: number;
}
export type ContentPublication<TEntry extends PublicationEntry = PublicationEntry> = TranslatedPublication & { entry: TEntry };
export type LibraryPaginationPublication<TEntry extends PublicationEntry = PublicationEntry> = ContentPublication<TEntry> & {
libraryPage: LibraryPageDescriptor;
};
export function paginateLibraryItems<T>(
items: readonly T[],
requestedPage: number,
pageSize = LIBRARY_PAGE_SIZE
): LibraryPageSlice<T> | null {
if (!Number.isSafeInteger(requestedPage) || requestedPage < 1
|| !Number.isSafeInteger(pageSize) || pageSize < 1) return null;
const totalItems = items.length;
const totalPages = Math.ceil(totalItems / pageSize);
// The unnumbered root remains a valid empty archive. Numbered routes never do.
if ((totalPages === 0 && requestedPage !== 1) || (totalPages > 0 && requestedPage > totalPages)) return null;
const start = (requestedPage - 1) * pageSize;
return {
currentPage: requestedPage,
totalItems,
totalPages,
previousPage: requestedPage > 1 ? requestedPage - 1 : null,
nextPage: requestedPage < totalPages ? requestedPage + 1 : null,
items: items.slice(start, start + pageSize)
};
}
export function libraryRootRoute(locale: LibraryLocale): string {
return locale === 'en' ? '/library' : `/${locale}/library`;
}
export function libraryPageRoute(locale: LibraryLocale, page: number): string {
if (!Number.isSafeInteger(page) || page < 1) throw new Error(`Invalid Library page number: ${page}`);
const root = libraryRootRoute(locale);
return page === 1 ? root : `${root}/page/${page}`;
}
/**
* Compose generated page 2+ publications from the content manifest and catalog.
* The content manifest stays independent, preventing a catalog/manifest cycle.
*/
export function createLibraryPaginationPublications<
TBlog extends LibraryBlogEntry,
TEntry extends PublicationEntry
>(
catalog: LibraryCatalog<TBlog>,
manifest: ContentPublication<TEntry>[],
site: string
): LibraryPaginationPublication<TEntry>[] {
const contentRoutes = new Map(manifest.map((page) => [page.route, `${page.entry.collection}/${page.entry.id}`]));
const publications: LibraryPaginationPublication<TEntry>[] = [];
for (const locale of libraryLocales) {
const rootRoute = libraryRootRoute(locale);
const root = manifest.find((page) => page.route === rootRoute);
if (!root || root.entry.collection !== 'pages' || root.entry.data.lang !== locale || root.entry.data.slug !== 'library') {
throw new Error(`Missing Library root publication: ${rootRoute}`);
}
// Reserve the complete family, including aliases and malformed content
// candidates, so content can never silently shadow generated archives.
const familyPrefix = `${rootRoute}/page`;
const collision = manifest.find((page) => page.route === familyPrefix || page.route.startsWith(`${familyPrefix}/`));
if (collision) throw new Error(`Reserved Library pagination route collision: ${collision.route} (${contentRoutes.get(collision.route)})`);
if (!root.eligible) continue;
const items = catalog.byLocale[locale];
const first = paginateLibraryItems(items, 1);
if (!first) throw new Error(`Unable to paginate Library root: ${rootRoute}`);
for (let currentPage = 2; currentPage <= first.totalPages; currentPage++) {
const page = paginateLibraryItems(items, currentPage);
if (!page?.items.length) throw new Error(`Empty generated Library page: ${libraryPageRoute(locale, currentPage)}`);
const synthetic: PublicationEntry = {
id: `generated/${locale}/library/page/${currentPage}`,
collection: 'pages',
data: { lang: locale, slug: `library/page/${currentPage}`, draft: false }
};
const publication = publicationFor(synthetic, site);
const previous = contentRoutes.get(publication.route);
if (previous) throw new Error(`Route collision: ${publication.route} (${previous}, ${synthetic.id})`);
contentRoutes.set(publication.route, synthetic.id);
publications.push({
...publication,
entry: root.entry,
translations: [],
libraryPage: {
locale,
currentPage,
totalItems: page.totalItems,
totalPages: page.totalPages
}
});
}
}
return publications.sort((left, right) => left.route.localeCompare(right.route, 'en'));
}
+23 -2
View File
@@ -1,6 +1,8 @@
import { getCollection } from 'astro:content'; import { getCollection, type CollectionEntry } from 'astro:content';
import site from '../data/site.json'; import site from '../data/site.json';
import { createPublicationManifest, normalizeRoute } from './publication-policy'; import { createPublicationManifest, normalizeRoute } from './publication-policy';
import { createLibraryCatalog } from './library-catalog';
import { createLibraryPaginationPublications } from './library-pagination';
import { createLibrarySearchPublication } from './search-publication'; import { createLibrarySearchPublication } from './search-publication';
export const allowIndexing = import.meta.env.PUBLIC_ALLOW_INDEXING === 'true'; export const allowIndexing = import.meta.env.PUBLIC_ALLOW_INDEXING === 'true';
@@ -10,10 +12,29 @@ export async function getPublicationManifest() {
return createPublicationManifest([...pages, ...posts], site.url); return createPublicationManifest([...pages, ...posts], site.url);
} }
export async function getLibraryPaginationManifest(
manifest?: Awaited<ReturnType<typeof getPublicationManifest>>
) {
manifest ??= await getPublicationManifest();
const authors = await getCollection('authors');
const catalog = createLibraryCatalog(
manifest as Parameters<typeof createLibraryCatalog<CollectionEntry<'blog'>>>[0],
authors
);
return createLibraryPaginationPublications(catalog, manifest, site.url);
}
/** Content publications plus deterministic generated archive routes. */
export async function getRoutePublicationManifest() {
const content = await getPublicationManifest();
const pagination = await getLibraryPaginationManifest(content);
return [...content, ...pagination].sort((left, right) => left.route.localeCompare(right.route, 'en'));
}
export async function getPublication(route: string) { export async function getPublication(route: string) {
const normalized = normalizeRoute(route); const normalized = normalizeRoute(route);
if (normalized === '/search') return createLibrarySearchPublication(site.url); if (normalized === '/search') return createLibrarySearchPublication(site.url);
const publication = (await getPublicationManifest()).find((page) => page.route === normalized); const publication = (await getRoutePublicationManifest()).find((page) => page.route === normalized);
if (!publication?.eligible) throw new Error(`Route is not published: ${normalized}`); if (!publication?.eligible) throw new Error(`Route is not published: ${normalized}`);
return publication; return publication;
} }
+4 -1
View File
@@ -3,7 +3,10 @@ import fs from 'node:fs/promises';
const redirects = [ const redirects = [
{ from: '/aba', to: '/aba-therapy', status: 301, reason: 'Brief legacy alias to preserved URL' }, { from: '/aba', to: '/aba-therapy', status: 301, reason: 'Brief legacy alias to preserved URL' },
{ from: '/autismevaluations', to: '/autism-evaluations', status: 301, reason: 'Brief legacy alias to preserved URL' }, { from: '/autismevaluations', to: '/autism-evaluations', status: 301, reason: 'Brief legacy alias to preserved URL' },
{ from: '/learnersocialclub', to: '/learner-social-club', status: 301, reason: 'Brief legacy alias to preserved URL' } { from: '/learnersocialclub', to: '/learner-social-club', status: 301, reason: 'Brief legacy alias to preserved URL' },
{ from: '/library/page/1', to: '/library', status: 301, reason: 'Library first-page alias' },
{ from: '/es/library/page/1', to: '/es/library', status: 301, reason: 'Spanish Library first-page alias' },
{ from: '/ar/library/page/1', to: '/ar/library', status: 301, reason: 'Arabic Library first-page alias' }
]; ];
await fs.writeFile(new URL('../src/data/redirects.json', import.meta.url), `${JSON.stringify(redirects, null, 2)}\n`); await fs.writeFile(new URL('../src/data/redirects.json', import.meta.url), `${JSON.stringify(redirects, null, 2)}\n`);
await fs.writeFile(new URL('../reports/redirect-map.csv', import.meta.url), await fs.writeFile(new URL('../reports/redirect-map.csv', import.meta.url),
+173 -4
View File
@@ -9,6 +9,7 @@ import fg from 'fast-glob';
import matter from 'gray-matter'; import matter from 'gray-matter';
import { load } from 'cheerio'; import { load } from 'cheerio';
import { createLibraryCatalog, extractMarkdownHeadings } from '../src/utils/library-catalog.ts'; import { createLibraryCatalog, extractMarkdownHeadings } from '../src/utils/library-catalog.ts';
import { createLibraryPaginationPublications, libraryPageRoute, paginateLibraryItems } from '../src/utils/library-pagination.ts';
import { boundedSearchOffset, normalizeLibrarySearchText, parseLegacyLibrarySearchState, searchLibrary } from '../src/utils/library-search.ts'; import { boundedSearchOffset, normalizeLibrarySearchText, parseLegacyLibrarySearchState, searchLibrary } from '../src/utils/library-search.ts';
import { createPublicationManifest, renderSitemap, robotsFor } from '../src/utils/publication-policy.ts'; import { createPublicationManifest, renderSitemap, robotsFor } from '../src/utils/publication-policy.ts';
import { createLibrarySearchPublication } from '../src/utils/search-publication.ts'; import { createLibrarySearchPublication } from '../src/utils/search-publication.ts';
@@ -35,6 +36,8 @@ async function authorEntries(root = project) {
const entries = await contentEntries(); const entries = await contentEntries();
const manifest = createPublicationManifest(entries, site); const manifest = createPublicationManifest(entries, site);
const catalog = createLibraryCatalog(manifest, await authorEntries()); const catalog = createLibraryCatalog(manifest, await authorEntries());
const paginationPublications = createLibraryPaginationPublications(catalog, manifest, site);
const routeManifest = [...manifest, ...paginationPublications].sort((left, right) => left.route.localeCompare(right.route, 'en'));
function record(overrides = {}) { function record(overrides = {}) {
return { return {
@@ -63,6 +66,72 @@ test('catalog ordering is date descending with route ascending as the stable tie
} }
}); });
test('pagination handles empty, boundary and exact-multiple catalogs without empty numbered pages', () => {
for (const [count, totalPages, pageSizes] of [
[0, 0, [0]], [1, 1, [1]], [9, 1, [9]], [10, 1, [10]],
[11, 2, [10, 1]], [20, 2, [10, 10]]
]) {
const items = Array.from({ length: count }, (_, index) => index);
const root = paginateLibraryItems(items, 1);
assert.equal(root.totalItems, count);
assert.equal(root.totalPages, totalPages);
assert.equal(root.items.length, pageSizes[0]);
for (let page = 2; page <= totalPages; page++) {
assert.equal(paginateLibraryItems(items, page).items.length, pageSizes[page - 1]);
}
assert.equal(paginateLibraryItems(items, Math.max(2, totalPages + 1)), null);
}
for (const page of [0, -1, 1.5, Number.NaN, Number.POSITIVE_INFINITY, Number.MAX_SAFE_INTEGER + 1]) {
assert.equal(paginateLibraryItems([1], page), null);
}
assert.equal(paginateLibraryItems([1], 1, 0), null);
});
test('current catalogs generate only five numbered Library routes with expected slices', () => {
assert.deepEqual(paginationPublications.map(({ route }) => route), [
'/es/library/page/2', '/library/page/2', '/library/page/3', '/library/page/4', '/library/page/5'
]);
assert.deepEqual(Object.fromEntries(['en', 'es', 'ar'].map((locale) => {
const root = paginateLibraryItems(catalog.byLocale[locale], 1);
return [locale, { total: root.totalItems, pages: root.totalPages }];
})), {
en: { total: 46, pages: 5 }, es: { total: 12, pages: 2 }, ar: { total: 7, pages: 1 }
});
assert.deepEqual([1, 2, 3, 4, 5].map((page) => paginateLibraryItems(catalog.byLocale.en, page).items.length), [10, 10, 10, 10, 6]);
assert.deepEqual([1, 2].map((page) => paginateLibraryItems(catalog.byLocale.es, page).items.length), [10, 2]);
assert.equal(paginateLibraryItems(catalog.byLocale.ar, 1).items.length, 7);
for (const publication of paginationPublications) {
assert.equal(publication.canonical, site + publication.route);
assert.equal(publication.sitemapEligible, true);
assert.deepEqual(publication.translations, []);
}
});
test('generated page inventory follows catalog growth and removal without manual routes', () => {
const english = catalog.byLocale.en;
const withFiveMore = [...english, ...english.slice(0, 5)];
const grown = { ...catalog, byLocale: { ...catalog.byLocale, en: withFiveMore } };
assert.ok(createLibraryPaginationPublications(grown, manifest, site).some(({ route }) => route === '/library/page/6'));
const reduced = { ...catalog, byLocale: { ...catalog.byLocale, en: english.slice(0, 40) } };
assert.deepEqual(createLibraryPaginationPublications(reduced, manifest, site)
.filter(({ libraryPage }) => libraryPage.locale === 'en').map(({ route }) => route), [
'/library/page/2', '/library/page/3', '/library/page/4'
]);
});
test('page routes reject invalid numbers and generated descriptors reject reserved-family collisions', () => {
assert.equal(libraryPageRoute('en', 1), '/library');
assert.equal(libraryPageRoute('es', 2), '/es/library/page/2');
for (const page of [0, -1, 1.5, Number.NaN, Number.MAX_SAFE_INTEGER + 1]) {
assert.throws(() => libraryPageRoute('en', page), /Invalid Library page number/);
}
const root = manifest.find((page) => page.route === '/library');
assert.throws(() => createLibraryPaginationPublications(catalog, [
...manifest,
{ ...root, route: '/library/page/2', url: `${site}/library/page/2`, canonical: `${site}/library/page/2` }
], site), /Reserved Library pagination route collision/);
});
test('catalog fixtures include new eligible posts automatically and exclude drafts', () => { test('catalog fixtures include new eligible posts automatically and exclude drafts', () => {
const author = [{ id: 'en/author', data: { lang: 'en', slug: 'author', name: 'Example Author' } }]; const author = [{ id: 'en/author', data: { lang: 'en', slug: 'author', name: 'Example Author' } }];
const make = (slug, draft = false) => ({ const make = (slug, draft = false) => ({
@@ -73,6 +142,7 @@ test('catalog fixtures include new eligible posts automatically and exclude draf
const fixture = createLibraryCatalog(fixtureManifest, author); const fixture = createLibraryCatalog(fixtureManifest, author);
assert.deepEqual(fixture.all.map(({ route }) => route), ['/library/new-post']); assert.deepEqual(fixture.all.map(({ route }) => route), ['/library/new-post']);
assert.deepEqual(fixture.all[0].search.headings, ['Searchable heading']); assert.deepEqual(fixture.all[0].search.headings, ['Searchable heading']);
assert.equal(paginateLibraryItems(fixture.byLocale.en, 1).totalItems, 1);
}); });
test('catalog rejects duplicate routes and missing or ambiguous locale authors', () => { test('catalog rejects duplicate routes and missing or ambiguous locale authors', () => {
@@ -211,8 +281,12 @@ test('build emits one deterministic, minimal UTF-8 index per locale', () => {
} }
}); });
test('Library pages retain every server-rendered article and expose progressive search controls', () => { test('Library roots and numbered pages render exact slices with progressive search controls', () => {
for (const [route, locale, count] of [['/library', 'en', 46], ['/es/library', 'es', 12], ['/ar/library', 'ar', 7]]) { for (const [route, locale, count] of [
['/library', 'en', 10], ['/library/page/2', 'en', 10], ['/library/page/3', 'en', 10],
['/library/page/4', 'en', 10], ['/library/page/5', 'en', 6],
['/es/library', 'es', 10], ['/es/library/page/2', 'es', 2], ['/ar/library', 'ar', 7]
]) {
const $ = load(artifacts.get('staging').html.get(route)); const $ = load(artifacts.get('staging').html.get(route));
assert.equal($('.blog-list .blog-card').length, count, route); assert.equal($('.blog-list .blog-card').length, count, route);
assert.equal($('[data-library-search][hidden]').length, 1, route); assert.equal($('[data-library-search][hidden]').length, 1, route);
@@ -220,14 +294,91 @@ test('Library pages retain every server-rendered article and expose progressive
assert.match($('noscript').html(), /library-search__noscript/, route); assert.match($('noscript').html(), /library-search__noscript/, route);
assert.equal($('html').attr('lang'), locale, route); assert.equal($('html').attr('lang'), locale, route);
assert.equal($('html').attr('dir'), locale === 'ar' ? 'rtl' : 'ltr', route); assert.equal($('html').attr('dir'), locale === 'ar' ? 'rtl' : 'ltr', route);
assert.equal($('main h1').length, 1, route);
assert.ok($('#library-archive-' + locale + ' .blog-list').length, route);
} }
}); });
test('generated Library routes contain every eligible article exactly once and omit invalid pages', () => {
const html = artifacts.get('staging').html;
const routeGroups = {
en: ['/library', '/library/page/2', '/library/page/3', '/library/page/4', '/library/page/5'],
es: ['/es/library', '/es/library/page/2'],
ar: ['/ar/library']
};
for (const [locale, routes] of Object.entries(routeGroups)) {
const links = routes.flatMap((route) => {
const $ = load(html.get(route));
return $('.blog-list .blog-card h3 a').map((_, link) => $(link).attr('href')).get();
});
assert.equal(links.length, catalog.byLocale[locale].length, locale);
assert.equal(new Set(links).size, links.length, locale);
assert.deepEqual(links, catalog.byLocale[locale].map(({ route }) => route), locale);
}
for (const route of [
'/library/page/1', '/library/page/6', '/library/page/0', '/library/page/02', '/library/page/not-a-number',
'/es/library/page/1', '/es/library/page/3', '/ar/library/page/1', '/ar/library/page/2'
]) assert.ok(!html.has(route), route);
});
test('pagination navigation uses roots for page 1, valid boundaries, aria-current and localized labels', () => {
const html = artifacts.get('staging').html;
for (const [route, current, previous, next] of [
['/library', '1', null, '/library/page/2'],
['/library/page/3', '3', '/library/page/2', '/library/page/4'],
['/library/page/5', '5', '/library/page/4', null],
['/es/library', '1', null, '/es/library/page/2'],
['/es/library/page/2', '2', '/es/library', null]
]) {
const $ = load(html.get(route));
const pager = $('.library-pagination');
assert.equal(pager.length, 1, route);
assert.equal(pager.find('[aria-current="page"]').text(), current, route);
assert.equal(pager.find('a[rel="prev"]').attr('href'), previous ?? undefined, route);
assert.equal(pager.find('a[rel="next"]').attr('href'), next ?? undefined, route);
assert.equal(pager.find('a[href$="/page/1"]').length, 0, route);
assert.ok(pager.attr('aria-label'), route);
}
assert.equal(load(html.get('/ar/library'))('.library-pagination').length, 0);
assert.match(load(html.get('/es/library'))('.library-pagination').attr('aria-label'), /biblioteca/i);
assert.equal(load(html.get('/ar/library'))('html').attr('dir'), 'rtl');
});
test('numbered pages keep full-locale search indexes and hide cards plus pager through one archive boundary', () => {
for (const [route, locale, expectedIndexCount] of [
['/library/page/3', 'en', 46], ['/es/library/page/2', 'es', 12], ['/ar/library', 'ar', 7]
]) {
const $ = load(artifacts.get('staging').html.get(route));
const search = $('[data-library-search]');
assert.equal(search.attr('data-archive-id'), `library-archive-${locale}`, route);
assert.equal($(`#library-archive-${locale} .blog-list`).length, 1, route);
assert.equal($(`#library-archive-${locale} .library-pagination`).length, locale === 'ar' ? 0 : 1, route);
assert.equal(artifacts.get('staging').indexes[locale].length, expectedIndexCount, route);
}
});
test('page-1 redirect registry preserves service aliases and defines only three Library aliases', async () => {
const redirects = JSON.parse(await readFile(path.join(project, 'src/data/redirects.json'), 'utf8'));
assert.deepEqual(redirects.slice(0, 3).map(({ from, to, status }) => ({ from, to, status })), [
{ from: '/aba', to: '/aba-therapy', status: 301 },
{ from: '/autismevaluations', to: '/autism-evaluations', status: 301 },
{ from: '/learnersocialclub', to: '/learner-social-club', status: 301 }
]);
assert.deepEqual(redirects.slice(3).map(({ from, to, status }) => ({ from, to, status })), [
{ from: '/library/page/1', to: '/library', status: 301 },
{ from: '/es/library/page/1', to: '/es/library', status: 301 },
{ from: '/ar/library/page/1', to: '/ar/library', status: 301 }
]);
assert.equal(new Set(redirects.map(({ from }) => from)).size, redirects.length);
const rewrites = await readFile(path.join(project, 'reports/nginx-rewrites.conf'), 'utf8');
for (const { from, to } of redirects.slice(3)) assert.ok(rewrites.includes(`rewrite ^${from}$ ${to} permanent;`));
});
test('/search is a noindex static Library-only compatibility route in both build modes', () => { test('/search is a noindex static Library-only compatibility route in both build modes', () => {
const publication = createLibrarySearchPublication(site); const publication = createLibrarySearchPublication(site);
for (const mode of ['staging', 'indexing']) { for (const mode of ['staging', 'indexing']) {
const { html, sitemap } = artifacts.get(mode); const { html, sitemap } = artifacts.get(mode);
assert.equal(html.size, manifest.filter((item) => item.eligible).length + 1); assert.equal(html.size, routeManifest.filter((item) => item.eligible).length + 1);
const $ = load(html.get('/search')); const $ = load(html.get('/search'));
assert.equal($('link[rel="canonical"]').attr('href'), `${site}/search`); assert.equal($('link[rel="canonical"]').attr('href'), `${site}/search`);
assert.equal($('meta[name="robots"]').attr('content'), robotsFor(publication, mode === 'indexing')); assert.equal($('meta[name="robots"]').attr('content'), robotsFor(publication, mode === 'indexing'));
@@ -236,7 +387,25 @@ test('/search is a noindex static Library-only compatibility route in both build
assert.equal($('main h1').length, 1); assert.equal($('main h1').length, 1);
assert.match($('main').text(), /Library articles/); assert.match($('main').text(), /Library articles/);
assert.ok(!sitemap.includes(`${site}/search`)); assert.ok(!sitemap.includes(`${site}/search`));
assert.equal(sitemap, renderSitemap(manifest, mode === 'indexing')); assert.equal(sitemap, renderSitemap(routeManifest, mode === 'indexing'));
}
});
test('numbered pages are self-canonical, production-indexable, sitemap-listed and never gain hreflang', () => {
for (const mode of ['staging', 'indexing']) {
const { html, sitemap } = artifacts.get(mode);
for (const publication of paginationPublications) {
const $ = load(html.get(publication.route));
assert.equal($('link[rel="canonical"]').attr('href'), publication.url, publication.route);
assert.equal($('meta[name="robots"]').attr('content'), robotsFor(publication, mode === 'indexing'), publication.route);
assert.equal($('link[hreflang]').length, 0, publication.route);
assert.equal(sitemap.includes(`<loc>${publication.url}</loc>`), mode === 'indexing', publication.route);
assert.match($('title').text(), /(?:Page|Página) \d+$/u, publication.route);
}
}
for (const locale of ['en', 'es', 'ar']) {
const root = libraryPageRoute(locale, 1);
assert.equal(load(artifacts.get('indexing').html.get(root))('link[hreflang]').length > 0, true, root);
} }
}); });
+16 -2
View File
@@ -9,6 +9,8 @@ import fg from 'fast-glob';
import matter from 'gray-matter'; import matter from 'gray-matter';
import { load } from 'cheerio'; import { load } from 'cheerio';
import { createPublicationManifest, hreflangLinksFor, normalizeRoute, publicationFor, renderSitemap, robotsFor, sitemapUrls, validateTranslationGraph } from '../src/utils/publication-policy.ts'; import { createPublicationManifest, hreflangLinksFor, normalizeRoute, publicationFor, renderSitemap, robotsFor, sitemapUrls, validateTranslationGraph } from '../src/utils/publication-policy.ts';
import { createLibraryCatalog } from '../src/utils/library-catalog.ts';
import { createLibraryPaginationPublications } from '../src/utils/library-pagination.ts';
import { createLibrarySearchPublication } from '../src/utils/search-publication.ts'; import { createLibrarySearchPublication } from '../src/utils/search-publication.ts';
const project = fileURLToPath(new URL('../', import.meta.url)); const project = fileURLToPath(new URL('../', import.meta.url));
@@ -24,6 +26,13 @@ async function readEntries(root) {
})); }));
} }
async function readAuthors(root) {
return Promise.all((await fg('src/content/authors/**/*.{md,mdx}', { cwd: root })).sort().map(async (file) => ({
id: file.replace(/^src\/content\/authors\//, '').replace(/\.mdx?$/, ''),
data: matter(await readFile(path.join(root, file), 'utf8')).data
})));
}
function assertCanonical(html, expected) { function assertCanonical(html, expected) {
const $ = load(html); const $ = load(html);
const tags = $('head link[rel="canonical"]'); const tags = $('head link[rel="canonical"]');
@@ -120,8 +129,13 @@ test('generated-head acceptance checks reject missing, duplicate and invalid can
const sourceEntries = await readEntries(project); const sourceEntries = await readEntries(project);
const actualManifest = createPublicationManifest(sourceEntries, site); const actualManifest = createPublicationManifest(sourceEntries, site);
const sourceAuthors = await readAuthors(project);
const sitePublications = (manifest) => [
...manifest,
...createLibraryPaginationPublications(createLibraryCatalog(manifest, sourceAuthors), manifest, site)
].sort((left, right) => left.route.localeCompare(right.route, 'en'));
const generatedPublications = (manifest) => [ const generatedPublications = (manifest) => [
...manifest.filter((page) => page.eligible), ...sitePublications(manifest).filter((page) => page.eligible),
createLibrarySearchPublication(site) createLibrarySearchPublication(site)
]; ];
@@ -355,7 +369,7 @@ for (const mode of ['staging', 'indexing']) {
test(`${mode} build: sitemap exactly matches eligible local indexable self-canonical routes`, () => { test(`${mode} build: sitemap exactly matches eligible local indexable self-canonical routes`, () => {
const { sitemap, html, robots } = artifacts.get(mode); const { sitemap, html, robots } = artifacts.get(mode);
assert.equal(sitemap, renderSitemap(fixtureManifest, mode === 'indexing')); assert.equal(sitemap, renderSitemap(sitePublications(fixtureManifest), mode === 'indexing'));
const $ = load(sitemap, { xml: true }); const $ = load(sitemap, { xml: true });
const urls = $('loc').map((_, node) => $(node).text()).get(); const urls = $('loc').map((_, node) => $(node).text()).get();
assert.equal(new Set(urls).size, urls.length); assert.equal(new Set(urls).size, urls.length);
+31 -9
View File
@@ -9,6 +9,8 @@ import fg from 'fast-glob';
import matter from 'gray-matter'; import matter from 'gray-matter';
import { load } from 'cheerio'; import { load } from 'cheerio';
import { createPublicationManifest, hreflangLinksFor, renderSitemap, robotsFor } from '../src/utils/publication-policy.ts'; import { createPublicationManifest, hreflangLinksFor, renderSitemap, robotsFor } from '../src/utils/publication-policy.ts';
import { createLibraryCatalog } from '../src/utils/library-catalog.ts';
import { createLibraryPaginationPublications } from '../src/utils/library-pagination.ts';
import { createLibrarySearchPublication } from '../src/utils/search-publication.ts'; import { createLibrarySearchPublication } from '../src/utils/search-publication.ts';
import { socialImageUrl } from '../src/utils/seo.ts'; import { socialImageUrl } from '../src/utils/seo.ts';
import { blogPostingSchema, faqItemsFromSourceHtml, faqPageSchema, serializeJsonLd } from '../src/utils/structured-data.ts'; import { blogPostingSchema, faqItemsFromSourceHtml, faqPageSchema, serializeJsonLd } from '../src/utils/structured-data.ts';
@@ -23,6 +25,7 @@ const prefix = (lang) => lang === 'en' ? '' : `/${lang}`;
const artifacts = new Map(); const artifacts = new Map();
let temporary; let temporary;
let manifest; let manifest;
let routeManifest;
let runner; let runner;
async function writeEntry(collection, lang, slug, data = {}) { async function writeEntry(collection, lang, slug, data = {}) {
@@ -58,6 +61,23 @@ const meta = ($, key) => $(`head meta[${key.startsWith('og:') ? 'property' : 'na
const jsonLd = ($) => $('script[type="application/ld+json"]').map((_, node) => JSON.parse($(node).text())).get(); const jsonLd = ($) => $('script[type="application/ld+json"]').map((_, node) => JSON.parse($(node).text())).get();
const schemaOf = ($, type) => jsonLd($).filter((schema) => schema['@type'] === type); const schemaOf = ($, type) => jsonLd($).filter((schema) => schema['@type'] === type);
const text = (value) => value.replace(/\s+/g, ' ').trim(); const text = (value) => value.replace(/\s+/g, ' ').trim();
const libraryCardTitle = (articleRoute, mode = 'staging') => {
for (const [route, html] of artifacts.get(mode).html) {
if (!/^\/(?:es\/|ar\/)?library(?:\/page\/\d+)?$/.test(route)) continue;
const title = load(html)(`.blog-card h3 a[href="${articleRoute}"]`).text();
if (title) return title;
}
return '';
};
const libraryCardDate = (articleRoute, mode = 'staging') => {
for (const [route, html] of artifacts.get(mode).html) {
if (!/^\/(?:es\/|ar\/)?library(?:\/page\/\d+)?$/.test(route)) continue;
const $ = load(html);
const card = $('.blog-card').filter((_, element) => $(element).find('h3 a').attr('href') === articleRoute);
if (card.length) return card.find('time').text();
}
return '';
};
async function writeFaqFixture(slug, content, flags = {}) { async function writeFaqFixture(slug, content, flags = {}) {
await writeFile(path.join(temporary, 'src/content/pages/en', `${slug}.mdx`), matter.stringify( await writeFile(path.join(temporary, 'src/content/pages/en', `${slug}.mdx`), matter.stringify(
@@ -102,6 +122,12 @@ before(async () => {
return { id: parts.join('/').replace(/\.mdx?$/, ''), collection, data: matter(await readFile(path.join(temporary, file), 'utf8')).data }; return { id: parts.join('/').replace(/\.mdx?$/, ''), collection, data: matter(await readFile(path.join(temporary, file), 'utf8')).data };
})); }));
manifest = createPublicationManifest(entries, site); manifest = createPublicationManifest(entries, site);
const authors = await Promise.all((await fg('src/content/authors/**/*.{md,mdx}', { cwd: temporary })).map(async (file) => ({
id: file.replace(/^src\/content\/authors\//, '').replace(/\.mdx?$/, ''),
data: matter(await readFile(path.join(temporary, file), 'utf8')).data
})));
routeManifest = [...manifest, ...createLibraryPaginationPublications(createLibraryCatalog(manifest, authors), manifest, site)]
.sort((left, right) => left.route.localeCompare(right.route, 'en'));
// A preview Astro.site must not leak into social assets or publication metadata. // A preview Astro.site must not leak into social assets or publication metadata.
runner = `import {build} from ${JSON.stringify(pathToFileURL(path.join(project, 'node_modules/astro/dist/index.js')).href)}; runner = `import {build} from ${JSON.stringify(pathToFileURL(path.join(project, 'node_modules/astro/dist/index.js')).href)};
await build({root:${JSON.stringify(temporary)},configFile:${JSON.stringify(path.relative(temporary, path.join(project, 'astro.config.mjs')))},site:'https://preview.example.invalid',logLevel:'silent',vite:{cacheDir:${JSON.stringify(path.join(temporary, '.vite'))}}});`; await build({root:${JSON.stringify(temporary)},configFile:${JSON.stringify(path.relative(temporary, path.join(project, 'astro.config.mjs')))},site:'https://preview.example.invalid',logLevel:'silent',vite:{cacheDir:${JSON.stringify(path.join(temporary, '.vite'))}}});`;
@@ -163,8 +189,7 @@ test('explicit article H1 changes only the heading; SEO and card titles retain t
assert.equal($('main h1').children().length, 0, 'Overrides are text, not injected markup'); assert.equal($('main h1').children().length, 0, 'Overrides are text, not injected markup');
for (const tag of ['og:title', 'twitter:title']) assert.equal(meta($, tag).attr('content'), `SEO title (${lang})`); for (const tag of ['og:title', 'twitter:title']) assert.equal(meta($, tag).attr('content'), `SEO title (${lang})`);
assert.equal($('head title').text(), `SEO title (${lang})`); assert.equal($('head title').text(), `SEO title (${lang})`);
const index = page(`${prefix(lang)}/library`); assert.equal(libraryCardTitle(route), `SEO title (${lang})`);
assert.equal(index(`.blog-card h3 a[href="${route}"]`).text(), `SEO title (${lang})`);
} }
}); });
@@ -179,8 +204,7 @@ test('production-supported English and Spanish article headings retain their ori
assert.equal($('main h1').text(), heading); assert.equal($('main h1').text(), heading);
assert.notEqual(heading, record.title); assert.notEqual(heading, record.title);
assert.equal($('head title').text(), record.title); assert.equal($('head title').text(), record.title);
const index = page(`${prefix(lang)}/library`); assert.equal(libraryCardTitle(route), record.title);
assert.equal(index(`.blog-card h3 a[href="${route}"]`).text(), record.title);
} }
}); });
@@ -250,10 +274,10 @@ for (const mode of ['staging', 'indexing']) {
test(`${mode}: existing publication policy, metadata, language and navigation are unchanged`, () => { test(`${mode}: existing publication policy, metadata, language and navigation are unchanged`, () => {
const { html, sitemap } = artifacts.get(mode); const { html, sitemap } = artifacts.get(mode);
assert.deepEqual([...html.keys()].sort(), [ assert.deepEqual([...html.keys()].sort(), [
...manifest.filter((item) => item.eligible).map((item) => item.route), ...routeManifest.filter((item) => item.eligible).map((item) => item.route),
createLibrarySearchPublication(site).route createLibrarySearchPublication(site).route
].sort()); ].sort());
assert.equal(sitemap, renderSitemap(manifest, mode === 'indexing')); assert.equal(sitemap, renderSitemap(routeManifest, mode === 'indexing'));
for (const publication of manifest.filter((item) => item.eligible)) { for (const publication of manifest.filter((item) => item.eligible)) {
const { route, entry, canonical } = publication; const { route, entry, canonical } = publication;
const $ = page(route, mode); const $ = page(route, mode);
@@ -330,9 +354,7 @@ test('article and card calendar dates match declared dates even on a negative-of
const byline = article('.article-byline time'); const byline = article('.article-byline time');
assert.equal(byline.attr('datetime'), date.toISOString()); assert.equal(byline.attr('datetime'), date.toISOString());
assert.equal(byline.text(), date.toLocaleDateString(data.lang, { day: '2-digit', month: 'long', year: 'numeric', timeZone: 'UTC' })); assert.equal(byline.text(), date.toLocaleDateString(data.lang, { day: '2-digit', month: 'long', year: 'numeric', timeZone: 'UTC' }));
const index = page(`${prefix(data.lang)}/library`); assert.equal(libraryCardDate(publication.route), date.toLocaleDateString(data.lang, { day: 'numeric', month: 'long', year: 'numeric', timeZone: 'UTC' }));
const card = index('.blog-card').filter((_, el) => index(el).find('h3 a').attr('href') === publication.route);
assert.equal(card.find('time').text(), date.toLocaleDateString(data.lang, { day: 'numeric', month: 'long', year: 'numeric', timeZone: 'UTC' }));
} }
}); });