feat(library): implement multilingual static search

This commit is contained in:
DeCentN2Madness committed 2026-10-09 19:26:58 -07:00
1 parent 76a035424d
commit b20c253383
19 files changed
+1404 -19

No files matched your search

+1
View File
@@ -21,6 +21,7 @@
"test:markdown": "node --test tools/markdown.test.mjs",
"test:publication": "node --experimental-strip-types --test tools/publication.test.mjs",
"test:seo": "node --experimental-strip-types --test tools/seo.test.mjs",
"test:library": "node --experimental-strip-types --test tools/library.test.mjs",
"generate:sitemap": "node tools/generate-sitemap.mjs",
"generate:redirects": "node tools/generate-redirects.mjs"
},
+298
View File
@@ -2131,3 +2131,301 @@ recomputed from the reconciled records.
No functional source file, dependency, route, redirect rule, content record,
Nix/nginx/deployment configuration, publication policy, or generated application
behavior was changed in Phase 6A.
## Phase 6A Architecture Ratification — October 9, 2026
The Phase 6A proposal was ratified against checkpoint
`76a035424dc5245443476b168d8c91ea62eed27b` with the following decisions. The
original proposal remains preserved as historical architecture research;
these later decisions govern Phase 6B implementation.
1. **Search architecture approved.** Library search uses the existing content
collections and publication manifest, locale-specific static JSON indexes,
and dependency-free project-owned TypeScript. Initial fields are title,
description, headings, category, author display information, publication
date, and future nonempty tags. Full-body indexing, fuzzy matching,
stemming, hosted services, query logging, and third-party dependencies remain
deferred or disallowed.
2. **Library pagination approved for a later checkpoint.** The agreed model is
ten posts per page, publication date descending, normalized route ascending
as a stable tie-breaker, the unnumbered root as page 1, nonempty generated
pages 2+, and HTTP 301 redirects from `/page/1` aliases. Phase 6B.1 does not
implement this decision.
3. **Legacy `/search` approved with a narrower initial scope.** It preserves
`term`, `q`, repeated `type`, and `offset` compatibility but searches only
Library articles. It is `noindex`, sitemap-excluded, and outside the
hreflang graph. This intentional Library-only behavior differs from
HubSpot's broader production site search.
4. **Archive indexing policy modified.** Future numbered Library pages are
self-canonical, indexable, and sitemap-eligible. Future author roots and
numbered author pages are initially `noindex,follow` and omitted from the
sitemap. This replaces the proposal's recommendation to index all archive
pages immediately. Phase 6B.1 creates no author routes.
5. **Syndicated-article handling approved.** The two accessible English records
`community-highlight-meet-rula-diab` and `new-aia-scottsdale-office` remain
available in Library listings and internal search while retaining their
external canonicals, `noindex`, sitemap exclusion, and hreflang exclusion.
6. **Author-root hreflang conditionally approved for later work.** It requires
explicit validated author translation keys plus eligible, indexable author
roots. Numbered author pages never receive hreflang merely from matching page
numbers. Because author archives initially remain `noindex`, Phase 6B.1 adds
no author hreflang.
7. **Author content model approved for later work.** An optional localized
`displayName` may reproduce source-supported archive headings, while the
person's actual name remains the BlogPosting Person attribution. Biography
reconciliation and substantive Spanish/Arabic edits require source evidence
and human language review. Phase 6B.1 uses the existing author schema.
8. **Phase 6C sequencing approved with a cutover constraint.** Pagination may
precede reconciliation of the nine missing English articles, but no records
or empty pages may be fabricated. Production `/library/page/6` and
`/library/author/rula-diab/page/6` cannot be accepted as migrated until
Phase 6C supplies the necessary source-supported content.
The ratification therefore modifies four material recommendations in the
original proposal: `/search` initially searches Library content rather than the
whole site; author archives begin as `noindex` and outside the sitemap;
author-root hreflang waits for later content and indexing approval; and Library
pagination may be implemented before Phase 6C even though production page-6
acceptance may not. Only the search-related parts of Decisions 1, 3, and 5 were
authorized for Phase 6B.1. Pagination, author archives, redirects, and Phase 6C
content retain separate review gates.
## Phase 6B.1 — Shared Library Catalog and Search — October 9, 2026
**Starting checkpoint:** `76a035424dc5245443476b168d8c91ea62eed27b`
### Scope and Architecture
Phase 6B.1 implements one shared Library catalog, three generated static search
indexes, progressively enhanced locale-scoped search on the three Library
roots, and a static `/search` compatibility page. It adds no pagination or
author archive routes, changes no article body or date, installs no dependency,
and sends no query to an external service.
`src/utils/library-catalog.ts` is the single reusable catalog layer. It consumes
generated blog entries from the Phase 3A publication manifest, resolves authors
from the existing localized author records, and returns immutable metadata
records separated by locale. It includes route-eligible accessible records even
when they are `noindex` or externally canonicalized, while excluding drafts and
other non-generated records. Results sort by publication date descending and
normalized local route ascending; duplicate routes, missing authors, and
ambiguous authors fail explicitly. That ordering and data shape can be reused by
the later approved pagination work without maintaining a second article list.
The catalog extracts bounded Markdown/MDX headings while ignoring fenced code,
component syntax, and non-heading body content. A record contains only:
- stable local URL and locale;
- title and description;
- at most 50 meaningful headings, each capped at 300 characters;
- category and future nonempty tags;
- localized author name and slug; and
- publication date.
It does not serialize article bodies, rendered HTML, canonicals, form data,
visitor data, analytics identifiers, credentials, cookies, draft metadata, or
runtime secrets. `src/utils/library.ts` adapts the pure catalog to Astro content
collections and memoizes it for a build. The JSON endpoint at
`src/pages/assets/search/library/[locale].json.ts` creates deterministic UTF-8
assets for `en`, `es`, and `ar` on every build.
### Search Normalization and Ranking
`src/utils/library-search.ts` owns DOM-independent matching and compatibility
query parsing. It applies Unicode NFKC normalization, locale-aware lowercasing,
collapsed whitespace, punctuation normalization, Spanish accent-insensitive
matching, and removal of Arabic combining marks and tatweel while preserving
original display text. It does not stem or fuzzily rewrite words. Documented
partial-token matching begins at three characters to accommodate useful prefix
and attached-particle matches without turning short tokens into broad matches.
All normalized query terms must match. Deterministic weights favor an exact
title phrase, then title tokens, headings, description, category/tags, and
author metadata. Equal scores sort by publication date descending and route
ascending. Empty or whitespace-only input restores ordinary browsing. Unusual
punctuation and Unicode input, no matches, one match, multiple matches, and
cleared queries are covered by the focused test suite.
### Embedded Library Search
`LibrarySearch.astro` supplies the shared accessible interface for `/library`,
`/es/library`, and `/ar/library`. Each root loads only its own locale index on
the first real search. The existing server-rendered list remains complete (46
English, 12 Spanish, seven Arabic) because ten-item pagination is deferred.
Search state uses a `#search=` fragment, supports direct links and browser
back/forward navigation, and avoids sending embedded queries to a static server.
Clearing a query restores the server-rendered list and its pre-search fragment.
Controls become visible only after successful client initialization. The
ordinary listing and links remain available without JavaScript; a `<noscript>`
message describes the limitation. A failed index request reports the error but
does not hide or blank the archive. The component uses a visible label, native
search input, submit and reset controls, visible focus styles, result heading,
and a polite live region. It moves focus predictably after submission/reset,
does not trap focus, and creates all query/result text with DOM `textContent`
rather than unsanitized HTML.
English, Spanish, and Arabic use locale-scoped indexes and existing route
conventions. Arabic retains `lang="ar"`, `dir="rtl"`, RTL input/result
presentation, and logical DOM focus order. The source-supported control labels
`Search`, `Buscar`, and `بحث` are retained. Newly introduced Spanish and Arabic
operational microcopy (loading, errors, counts, reset, and no-results text) is
functionally complete but requires human language review; it is not represented
as professionally reviewed translation.
### Legacy `/search` Compatibility
The generated `/search` page states that it searches AIA Library articles,
rather than promising HubSpot's global-page search. `term` has precedence over
`q` when both are present; repeated legacy `type` values are accepted as
compatibility inputs but do not broaden the corpus. Visitors may search all
three indexes or explicitly filter by English, Spanish, or Arabic. A narrow
filter fetches only the selected index. Results use ten-item offset pages;
nonnegative multiples of ten are accepted, and invalid, negative,
non-numeric, non-multiple, or beyond-range offsets normalize to a valid state
without exposing nonexistent records.
The page is static, self-canonical to
`https://www.azinstitute4autism.com/search`, `noindex,follow` in an
indexing-enabled build, excluded from the sitemap, and excluded from hreflang.
The final staging build applies the global `noindex,nofollow` safeguard. Its
no-JavaScript fallback explains the requirement and links to all three working
Library roots. Query-string values can appear in ordinary server logs, unlike
fragment-based embedded queries; the page documents that privacy distinction.
No cookies, local search history, analytics, query logging, external API,
HubSpot forwarding, or persistent backend was added.
The route is integrated through the existing publication-policy API using the
small synthetic descriptor in `search-publication.ts`; it does not introduce a
second robots/canonical/sitemap policy. The publication manifest and sitemap
continue to represent content-backed routes only. The existing two syndicated
articles remain accessible in listings and search while their external
canonicals, `noindex`, sitemap exclusion, and hreflang exclusion remain intact.
### Generated Asset Measurements
Measurements were taken from the final generated JSON assets using local gzip
and Brotli compression:
| Locale | Records | Raw bytes | Gzip bytes | Brotli bytes |
| --- | ---: | ---: | ---: | ---: |
| English | 46 | 28,003 | 7,973 | 6,632 |
| Spanish | 12 | 10,170 | 3,427 | 2,969 |
| Arabic | 7 | 6,234 | 1,982 | 1,625 |
| **Total** | **65** | **44,407** | **13,382** | **11,226** |
The total is 2,317 raw bytes and 689 gzip bytes above Phase 6A's prototype,
primarily because the implemented records carry validated author objects,
bounded extracted headings, and their final endpoint representation. It remains
a metadata-only index. The final shared client module is 6,539 bytes raw, 2,651
bytes with gzip, and 2,312 bytes with Brotli. Measurements use `gzip -9 -n` and
`brotli -q 11`. Ordinary Library visits fetch no index until a search starts,
embedded searches fetch one locale, and filtered legacy searches avoid unused
locale assets. All query processing occurs in the browser.
### Validation and Browser Evidence
| Check | Result |
| --- | --- |
| `npm run test:library` | Passed: 16 tests covering real catalogs/build output, publication exclusions, syndicated inclusion, authors, sorting, headings, Unicode matching, legacy state, SEO, and safe client rendering |
| `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; 97 HTML routes |
| `PUBLIC_ALLOW_INDEXING=true npm run build` | Passed: 97 HTML routes, 92 sitemap URLs, 174 hreflang links across 53 pages |
| `npm run audit:routes -- --check` | Passed after the normal offline reconciliation process recorded the intentional `/search` route; no new production crawl |
| `npm run audit:links` | Passed: 0 broken internal links |
| `npm run audit:images` | Passed: 0 missing images |
| `npm run audit:blog` | Passed: 0 failures |
| Final normal `npm run build` | Passed and restored staging output: all 97 pages `noindex,nofollow`, empty sitemap, no hreflang |
| `git diff --check` | Passed |
The preserved-production offline reconciliation is
`route-reconciliation-2026-10-09-offline-20-22-09-196Z.json`: 129 reconciled
routes, 97 locally generated routes, and 70 inherited production verification
requests. It preserves the earlier observations rather than asserting a new
production crawl.
Chromium DevTools Protocol checks exercised the generated static site at desktop
and a 390-by-844 mobile Arabic viewport. They confirmed that an ordinary Library
visit loads no JSON; direct fragments and Enter submission work; reset and
back/forward restore state; failed JSON loading leaves 46 English cards usable;
JavaScript-disabled English retains all 46 cards and working links; the legacy
page honors `term` precedence and ten-result offsets; a Spanish filter fetches
only the Spanish index; and Arabic results/input remain RTL without horizontal
overflow. These checks also observed correct focus movement and live status
updates. No screenshots or browser artifacts were added to the repository.
The user also completed the full manual browser acceptance checklist against the
built static site served through the project's nginx/reverse-proxy environment
at `https://aia.web3app.dev`; every checklist item passed. Results display the
clear heading “Library Search Results,” keyboard submission moves focus to that
results region, the next Tab reaches the first result, and the browser focus
indicator remains visible. That intentional results-region focus behavior was
accepted without an additional accessibility correction. This acceptance did
not claim testing with a specific screen reader, and a separate Astro preview
run was unnecessary because the built output had already been tested through
the existing static-serving environment.
### Publication, Route, and Scope Invariants
- Generated HTML routes changed only from 96 to **97** for `/search`.
- The indexing-enabled sitemap remains **92** URLs.
- Indexing-enabled hreflang remains **174** links across **53** routes.
- `/search` is self-canonical, `noindex,follow`, sitemap-excluded, and has no
hreflang in the indexing-enabled build.
- Final staging output contains **97** globally `noindex,nofollow` pages, an
empty sitemap, and no hreflang.
- The three generated JSON assets are static assets, not HTML routes.
- No new article, numbered Library, author, or translation route exists.
- Canonicals, existing Library-root translation relationships, publication
eligibility, syndicated exceptions, BlogPosting/FAQPage rules, author
attribution, Header, Footer, LanguageSwitcher, forms, and integrations are
unchanged.
Phase 6B.1 deliberately did not implement Library pagination, `/page/1`
redirects, author archives, author schema/biography changes, article/date
reconciliation, production redirects, Phase 6C records, hosting configuration,
analytics, or an external search service.
### Changed-File Inventory
Modified files:
- `package.json` — adds the focused `test:library` command.
- `src/components/pages/LibraryEnglish.astro`
- `src/components/pages/LibrarySpanish.astro`
- `src/components/pages/LibraryArabic.astro` — consume the shared catalog and
mount the reusable search enhancement while retaining complete SSR listings.
- `src/layouts/BlogIndexLayout.astro` — narrowly scoped search/result styling.
- `src/utils/publication-policy.ts` — broadens the existing descriptor's data
type for fields already consumed by the catalog; policy behavior is unchanged.
- `src/utils/publication.ts` — resolves the `/search` utility descriptor through
the existing publication API.
- `tools/publication.test.mjs` and `tools/seo.test.mjs` — include the deliberate
`/search` route in route and SEO invariants.
- `reports/migration-summary.md` — records ratification, implementation, and
validation evidence.
New files:
- `src/utils/library-catalog.ts`
- `src/utils/library-search.ts`
- `src/utils/library.ts`
- `src/utils/search-publication.ts`
- `src/components/LibrarySearch.astro`
- `src/pages/assets/search/library/[locale].json.ts`
- `src/pages/search.astro`
- `tools/library.test.mjs`
- `reports/route-reconciliation-2026-10-09-offline-20-22-09-196Z.json`
### Remaining Review Items
1. Human language review is required for the newly introduced Spanish and
Arabic search-state/accessibility microcopy. This does not change or invent
article translations.
2. The intentional Library-only scope of `/search` should remain visible to
stakeholders because it differs from production HubSpot global search.
3. Pagination, page-1 redirect rules, noindex author archives, eventual author
indexability/hreflang, author biographies, and Phase 6C page-6 content remain
separate approved or conditional checkpoints and are not implemented here.
@@ -0,0 +1,155 @@
{
"schemaVersion": 1,
"generatedAt": "2026-10-09T20:22:09.196Z",
"mode": "offline-reconciliation",
"gitHead": "76a035424dc5245443476b168d8c91ea62eed27b",
"sourceFingerprint": "7888aa67e3d478d9307342cb108d203c01e72eec67844cb6d41d6130ab940f09",
"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":97,"sitemap":102,"sitemapLocalOverlap":92,"sitemapLocalMissing":10,"localNotInSitemap":5,"verifiedLiveNotInSitemap":21,"verifiedAbsent":1,"dispositions":{"both-discovered-http-unverified":59,"both-route-present-content-unverified":37,"discovered-production-absent":1,"live-discovered-local-missing":2,"live-only-verified":26,"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":null,"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":"live-only-verified"},
{"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":null,"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":"live-only-verified"},
{"route":"/library/page/3","local":null,"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":"live-only-verified"},
{"route":"/library/page/4","local":null,"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":"live-only-verified"},
{"route":"/library/page/5","local":null,"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":"live-only-verified"},
{"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"}
]
}
+312
View File
@@ -0,0 +1,312 @@
---
import type { LibraryLocale } from '../utils/library-catalog';
interface Props {
mode?: 'embedded' | 'legacy';
locale?: LibraryLocale;
archiveId?: string;
resultsId: string;
}
const { mode = 'embedded', locale = 'en', archiveId, resultsId } = Astro.props;
const messages = {
en: {
label: 'Search the Library', placeholder: 'Search', submit: 'Search', clear: 'Clear search',
loading: 'Loading Library search…', prompt: 'Enter a term to search Library articles.',
noResults: 'No Library articles matched your search.', error: 'Search is unavailable. The Library list remains available.',
results: 'Library search results', result: 'result', resultsWord: 'results', previous: 'Previous results', next: 'Next results',
language: 'Language', allLanguages: 'All languages', js: 'Interactive Library search requires JavaScript.'
},
es: {
label: 'Buscar en la Biblioteca', placeholder: 'Buscar', submit: 'Buscar', clear: 'Borrar búsqueda',
loading: 'Cargando la búsqueda de la Biblioteca…', prompt: 'Ingrese un término para buscar artículos de la Biblioteca.',
noResults: 'No se encontraron artículos de la Biblioteca.', error: 'La búsqueda no está disponible. La lista de la Biblioteca permanece disponible.',
results: 'Resultados de búsqueda de la Biblioteca', result: 'resultado', resultsWord: 'resultados', previous: 'Resultados anteriores', next: 'Resultados siguientes',
language: 'Idioma', allLanguages: 'Todos los idiomas', js: 'La búsqueda interactiva de la Biblioteca requiere JavaScript.'
},
ar: {
label: 'البحث في المكتبة', placeholder: 'بحث', submit: 'بحث', clear: 'مسح البحث',
loading: 'جارٍ تحميل البحث في المكتبة…', prompt: 'أدخل عبارة للبحث في مقالات المكتبة.',
noResults: 'لم يتم العثور على مقالات مطابقة في المكتبة.', error: 'البحث غير متاح. تبقى قائمة المكتبة متاحة.',
results: 'نتائج البحث في المكتبة', result: 'نتيجة', resultsWord: 'نتائج', previous: 'النتائج السابقة', next: 'النتائج التالية',
language: 'اللغة', allLanguages: 'كل اللغات', js: 'يتطلب البحث التفاعلي في المكتبة تفعيل JavaScript.'
}
}[locale];
---
<div
class="library-search"
data-library-search
data-mode={mode}
data-locale={locale}
data-index-base="/assets/search/library"
data-archive-id={archiveId}
data-results-id={resultsId}
data-messages={JSON.stringify(messages)}
hidden
>
<form class="library-search__form" action={mode === 'legacy' ? '/search' : undefined} method="get" role="search">
<label for={`library-search-${mode}-${locale}`}>{messages.label}</label>
<div class="library-search__controls">
<input
id={`library-search-${mode}-${locale}`}
name={mode === 'legacy' ? 'term' : undefined}
type="search"
placeholder={messages.placeholder}
autocomplete="off"
data-search-input
/>
<button type="submit">{messages.submit}</button>
<button type="reset" class="library-search__clear" data-search-clear disabled>{messages.clear}</button>
</div>
{mode === 'legacy' && (
<label class="library-search__language">
<span>{messages.language}</span>
<select name="lang" data-search-language>
<option value="all">{messages.allLanguages}</option>
<option value="en">English</option>
<option value="es">Español</option>
<option value="ar">العربية</option>
</select>
</label>
)}
</form>
<p class="library-search__status" data-search-status aria-live="polite" aria-atomic="true"></p>
</div>
<noscript><p class="library-search__noscript">{messages.js}</p></noscript>
<script>
import { boundedSearchOffset, parseLegacyLibrarySearchState, searchLibrary } from '../utils/library-search';
import type { LibraryLocale, LibrarySearchRecord } from '../utils/library-catalog';
interface SearchMessages {
loading: string; prompt: string; noResults: string; error: string; results: string;
result: string; resultsWord: string; previous: string; next: string;
}
const localeNames: Record<LibraryLocale, string> = { en: 'English', es: 'Español', ar: 'العربية' };
const indexCache = new Map<LibraryLocale, Promise<LibrarySearchRecord[]>>();
function loadIndex(base: string, locale: LibraryLocale): Promise<LibrarySearchRecord[]> {
let request = indexCache.get(locale);
if (!request) {
request = fetch(`${base}/${locale}.json`, { headers: { Accept: 'application/json' } }).then(async (response) => {
if (!response.ok) throw new Error(`Search index HTTP ${response.status}`);
const records = await response.json();
if (!Array.isArray(records) || records.some((record) => record?.locale !== locale || typeof record?.url !== 'string')) {
throw new Error('Invalid Library search index');
}
return records as LibrarySearchRecord[];
}).catch((error) => {
indexCache.delete(locale);
throw error;
});
indexCache.set(locale, request);
}
return request;
}
function createResult(record: LibrarySearchRecord): HTMLElement {
const article = document.createElement('article');
article.className = 'library-search-result';
article.lang = record.locale;
article.dir = record.locale === 'ar' ? 'rtl' : 'ltr';
const heading = document.createElement('h3');
const link = document.createElement('a');
link.href = record.url;
link.textContent = record.title;
heading.append(link);
const description = document.createElement('p');
description.textContent = record.description;
const meta = document.createElement('p');
meta.className = 'library-search-result__meta';
const date = new Intl.DateTimeFormat(record.locale, { dateStyle: 'long', timeZone: 'UTC' })
.format(new Date(`${record.publishedAt}T00:00:00Z`));
meta.textContent = `${record.author.name} · ${date} · ${localeNames[record.locale]}`;
article.append(heading, description, meta);
return article;
}
document.querySelectorAll<HTMLElement>('[data-library-search]').forEach((root) => {
const form = root.querySelector<HTMLFormElement>('form');
const input = root.querySelector<HTMLInputElement>('[data-search-input]');
const clear = root.querySelector<HTMLButtonElement>('[data-search-clear]');
const language = root.querySelector<HTMLSelectElement>('[data-search-language]');
const status = root.querySelector<HTMLElement>('[data-search-status]');
const results = document.getElementById(root.dataset.resultsId ?? '');
const archive = root.dataset.archiveId ? document.getElementById(root.dataset.archiveId) : null;
const mode = root.dataset.mode === 'legacy' ? 'legacy' : 'embedded';
const locale = (root.dataset.locale ?? 'en') as LibraryLocale;
const base = root.dataset.indexBase ?? '/assets/search/library';
const messages = JSON.parse(root.dataset.messages ?? '{}') as SearchMessages;
if (!form || !input || !clear || !status || !results) return;
const setArchiveVisible = (visible: boolean) => {
if (archive) archive.hidden = !visible;
results.hidden = visible;
if (visible) results.replaceChildren();
};
const setStatus = (message: string) => { status.textContent = message; };
const heading = () => {
const element = document.createElement('h2');
element.tabIndex = -1;
element.textContent = messages.results;
return element;
};
const render = (records: LibrarySearchRecord[], query: string, offset = 0, focus = false) => {
const matches = searchLibrary(records, query);
const normalizedOffset = boundedSearchOffset(matches.length, offset);
const visible = mode === 'legacy' ? matches.slice(normalizedOffset, normalizedOffset + 10) : matches;
const fragment = document.createDocumentFragment();
const title = heading();
fragment.append(title);
const list = document.createElement('div');
list.className = 'library-search-results__list';
visible.forEach(({ record }) => list.append(createResult(record)));
fragment.append(list);
if (mode === 'legacy' && matches.length > 10) {
const pager = document.createElement('nav');
pager.className = 'library-search-results__pager';
pager.setAttribute('aria-label', messages.results);
for (const [label, nextOffset] of [[messages.previous, normalizedOffset - 10], [messages.next, normalizedOffset + 10]] as const) {
const button = document.createElement('button');
button.type = 'button';
button.textContent = label;
button.disabled = nextOffset < 0 || nextOffset >= matches.length;
button.addEventListener('click', () => updateLegacyOffset(nextOffset));
pager.append(button);
}
fragment.append(pager);
}
results.replaceChildren(fragment);
results.hidden = false;
if (archive) archive.hidden = true;
clear.disabled = false;
setStatus(matches.length
? `${matches.length} ${matches.length === 1 ? messages.result : messages.resultsWord}`
: messages.noResults);
if (focus) title.focus();
return normalizedOffset;
};
const fail = () => {
setArchiveVisible(true);
clear.disabled = !input.value;
setStatus(messages.error);
};
const embeddedQuery = () => {
const hash = window.location.hash.slice(1);
if (!hash) return '';
const params = new URLSearchParams(hash);
return params.has('search') ? params.get('search') ?? '' : '';
};
let focusAfterNavigation = false;
const runEmbedded = async () => {
const query = embeddedQuery();
input.value = query;
if (!query.trim()) {
setArchiveVisible(true);
clear.disabled = true;
setStatus('');
return;
}
setStatus(messages.loading);
try {
const records = await loadIndex(base, locale);
render(records, query, 0, focusAfterNavigation);
} catch { fail(); }
finally { focusAfterNavigation = false; }
};
const legacyState = () => {
const params = new URLSearchParams(window.location.search);
const state = parseLegacyLibrarySearchState(params);
return { params, query: state.query, selected: state.language, offset: state.offset };
};
const runLegacy = async (focus = false) => {
const state = legacyState();
input.value = state.query;
if (language) language.value = state.selected;
if (!state.query.trim()) {
results.hidden = false;
results.replaceChildren(heading());
clear.disabled = true;
setStatus(messages.prompt);
return;
}
setStatus(messages.loading);
try {
const locales: LibraryLocale[] = state.selected === 'all' ? ['en', 'es', 'ar'] : [state.selected];
const records = (await Promise.all(locales.map((item) => loadIndex(base, item)))).flat();
const actualOffset = render(records, state.query, state.offset, focus);
const sourceOffset = state.params.get('offset');
const canonicalOffset = actualOffset ? String(actualOffset) : null;
if (actualOffset !== state.offset || sourceOffset !== canonicalOffset) {
if (actualOffset) state.params.set('offset', String(actualOffset)); else state.params.delete('offset');
history.replaceState(null, '', `${location.pathname}?${state.params}${location.hash}`);
}
} catch { fail(); }
};
const updateLegacyOffset = (offset: number) => {
const state = legacyState();
if (offset > 0) state.params.set('offset', String(offset)); else state.params.delete('offset');
history.pushState(null, '', `${location.pathname}?${state.params}${location.hash}`);
void runLegacy(true);
};
form.addEventListener('submit', (event) => {
event.preventDefault();
const query = input.value.trim();
if (mode === 'embedded') {
if (!root.dataset.previousHash && location.hash && !location.hash.startsWith('#search=')) root.dataset.previousHash = location.hash;
focusAfterNavigation = true;
const nextHash = query ? `#${new URLSearchParams({ search: query })}` : root.dataset.previousHash ?? '';
if (location.hash === nextHash) void runEmbedded(); else location.hash = nextHash;
} else {
const state = legacyState();
if (query) state.params.set('term', query); else state.params.delete('term');
state.params.delete('q');
state.params.delete('offset');
if (language?.value && language.value !== 'all') state.params.set('lang', language.value); else state.params.delete('lang');
history.pushState(null, '', `${location.pathname}${state.params.size ? `?${state.params}` : ''}`);
void runLegacy(true);
}
});
form.addEventListener('reset', (event) => {
event.preventDefault();
input.value = '';
if (mode === 'embedded') {
const previous = root.dataset.previousHash ?? '';
delete root.dataset.previousHash;
history.pushState(null, '', `${location.pathname}${location.search}${previous}`);
void runEmbedded();
} else {
const params = legacyState().params;
params.delete('term'); params.delete('q'); params.delete('offset'); params.delete('lang');
history.pushState(null, '', `${location.pathname}${params.size ? `?${params}` : ''}`);
if (language) language.value = 'all';
void runLegacy();
}
input.focus();
});
if (language) language.addEventListener('change', () => form.requestSubmit());
window.addEventListener(mode === 'embedded' ? 'hashchange' : 'popstate', () => {
if (mode === 'embedded') void runEmbedded(); else void runLegacy();
});
root.hidden = false;
if (mode === 'embedded') void runEmbedded(); else void runLegacy();
});
</script>
<style>
.library-search label { display: block; font-weight: 700; margin-bottom: .4rem; }
.library-search__controls { display: grid; gap: .5rem; }
.library-search input, .library-search select { border: 1px solid var(--color-border); border-radius: 4px; font: inherit; padding: .7rem; width: 100%; }
.library-search button { background: var(--color-primary); border: 2px solid var(--color-primary); border-radius: 4px; color: white; cursor: pointer; font: inherit; font-weight: 700; padding: .55rem .75rem; }
.library-search button:focus-visible, .library-search input:focus-visible, .library-search select:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
.library-search button:disabled { cursor: default; opacity: .55; }
.library-search__clear { background: white !important; color: var(--color-primary) !important; }
.library-search__language { margin-top: 1rem; }
.library-search__status { font-size: .9rem; min-height: 1.5em; }
.library-search__noscript { font-size: .9rem; }
</style>
+6 -4
View File
@@ -1,11 +1,13 @@
---
import { getPublicationManifest } from '../../utils/publication';
import { getLibraryCatalog } from '../../utils/library';
import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro';
import BlogCard from '../BlogCard.astro';
const posts = (await getPublicationManifest()).flatMap(({ eligible, entry }) => eligible && entry.collection === 'blog' && entry.data.lang === 'ar' ? [entry] : []).sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
import LibrarySearch from '../LibrarySearch.astro';
const posts = (await getLibraryCatalog()).byLocale.ar.map(({ entry }) => entry);
const popular = posts.slice(0, 5);
---
<BlogIndexLayout title="مكتبة معهد أريزونا للتوحد" description="مقالات إخبارية حول علاج تحليل السلوك التطبيقي والتعليم الخاص، ودراسات حالة، ووصفات، ومقالات افتتاحية، ودروس تعليمية." lang="ar">
<div class="blog-list">{posts.map((post) => <BlogCard post={post} prefix="/ar" />)}</div>
<aside class="library-sidebar"><h2>المقالات الشائعة</h2><ul>{popular.map((post) => <li><a href={`/ar/library/${post.data.slug}`}>{post.data.title}</a></li>)}</ul></aside>
<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>
<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>
@@ -1,8 +1,9 @@
---
import { getPublicationManifest } from '../../utils/publication';
import { getLibraryCatalog } from '../../utils/library';
import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro';
import BlogCard from '../BlogCard.astro';
const posts = (await getPublicationManifest()).flatMap(({ eligible, entry }) => eligible && entry.collection === 'blog' && entry.data.lang === 'en' ? [entry] : []).sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
import LibrarySearch from '../LibrarySearch.astro';
const posts = (await getLibraryCatalog()).byLocale.en.map(({ entry }) => entry);
const popular = posts.slice(0, 5);
---
<BlogIndexLayout
@@ -13,10 +14,10 @@ const popular = posts.slice(0, 5);
"We also highlight community events, success stories, and expert guidance to foster understanding and empowerment. Whether you're a parent, caregiver, educator, or advocate, our goal is to provide meaningful content that helps children with autism reach their highest potential in a compassionate and supportive environment. Stay connected with us as we continue to share knowledge and celebrate progress!",
]}
>
<div class="blog-list">{posts.map((post) => <BlogCard post={post} />)}</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>
<aside class="library-sidebar">
<label for="library-search">Search</label>
<input id="library-search" type="search" placeholder="Search" />
<LibrarySearch locale="en" archiveId="library-archive-en" resultsId="library-results-en" />
<h2>Popular Posts</h2>
<ul>{popular.map((post) => <li><a href={`/library/${post.data.slug}`}>{post.data.title}</a></li>)}</ul>
</aside>
@@ -1,11 +1,13 @@
---
import { getPublicationManifest } from '../../utils/publication';
import { getLibraryCatalog } from '../../utils/library';
import BlogIndexLayout from '../../layouts/BlogIndexLayout.astro';
import BlogCard from '../BlogCard.astro';
const posts = (await getPublicationManifest()).flatMap(({ eligible, entry }) => eligible && entry.collection === 'blog' && entry.data.lang === 'es' ? [entry] : []).sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
import LibrarySearch from '../LibrarySearch.astro';
const posts = (await getLibraryCatalog()).byLocale.es.map(({ entry }) => entry);
const popular = posts.slice(0, 5);
---
<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">
<div class="blog-list">{posts.map((post) => <BlogCard post={post} prefix="/es" />)}</div>
<aside class="library-sidebar"><h2>Publicaciones populares</h2><ul>{popular.map((post) => <li><a href={`/es/library/${post.data.slug}`}>{post.data.title}</a></li>)}</ul></aside>
<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>
<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>
+7 -2
View File
@@ -29,13 +29,18 @@ const { entry } = await getPublication(Astro.url.pathname);
:global(.library-intro h2) { color: white; }
:global(.library-layout) { align-items: start; display: grid; gap: 3rem; grid-template-columns: 1fr 240px; }
:global(.library-sidebar) { position: sticky; top: 1rem; }
:global(.library-sidebar label) { display: block; font-weight: 700; margin-bottom: .4rem; }
:global(.library-sidebar input) { border: 1px solid var(--color-border); border-radius: 4px; font: inherit; padding: .7rem; width: 100%; }
:global(.library-sidebar h2) { font-size: 1.1rem; margin-top: 2rem; }
:global(.library-sidebar ul) { list-style: none; padding: 0; }
: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(.blog-list) { display: block; }
:global(.library-search-results[hidden]), :global(.blog-list[hidden]) { display: none; }
: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 h3) { font-family: var(--font-body); margin-bottom: .65rem; }
:global(.library-search-result p) { margin-bottom: .65rem; }
:global(.library-search-result__meta) { font-size: .85rem; }
:global(.library-search-results__pager) { display: flex; gap: .75rem; }
@media (max-width: 760px) {
:global(.library-layout) { grid-template-columns: 1fr; }
:global(.library-sidebar) { position: static; }
@@ -0,0 +1,18 @@
import type { APIRoute } from 'astro';
import { getLibraryCatalog } from '../../../../utils/library';
import { libraryLocales, type LibraryLocale } from '../../../../utils/library-catalog';
export function getStaticPaths() {
return libraryLocales.map((locale) => ({ params: { locale }, props: { locale } }));
}
export const GET: APIRoute = async ({ props }) => {
const locale = props.locale as LibraryLocale;
const records = (await getLibraryCatalog()).byLocale[locale].map(({ search }) => search);
return new Response(`${JSON.stringify(records)}\n`, {
headers: {
'Content-Type': 'application/json; charset=utf-8',
'X-Content-Type-Options': 'nosniff'
}
});
};
+41
View File
@@ -0,0 +1,41 @@
---
import BaseLayout from '../layouts/BaseLayout.astro';
import PageHero from '../components/PageHero.astro';
import LibrarySearch from '../components/LibrarySearch.astro';
---
<BaseLayout
title="Search the Library | Arizona Institute for Autism"
description="Search English, Spanish, and Arabic articles from the Arizona Institute for Autism Library."
lang="en"
>
<PageHero title="Search the Library" />
<section class="section">
<div class="container-narrow search-page">
<p>This search includes published Library articles in English, Spanish, and Arabic. It does not search other website pages.</p>
<p>Embedded Library search keeps terms in the browser URL fragment. Searches on this compatibility page use the URL query string and may appear in ordinary server access logs.</p>
<LibrarySearch mode="legacy" locale="en" resultsId="library-search-results" />
<div id="library-search-results" class="library-search-results" hidden></div>
<noscript>
<nav aria-label="Library languages">
<a href="/library">English Library</a> ·
<a href="/es/library" lang="es">Biblioteca en español</a> ·
<a href="/ar/library" lang="ar" dir="rtl">المكتبة العربية</a>
</nav>
</noscript>
</div>
</section>
</BaseLayout>
<style>
.search-page > p { margin-bottom: 1rem; }
.search-page :global(.library-search) { margin-block: 2rem; }
.search-page :global(.library-search__controls) { grid-template-columns: minmax(0, 1fr) auto auto; }
.search-page :global(.library-search-results[hidden]) { display: none; }
.search-page :global(.library-search-result) { border-bottom: 1px solid var(--color-border); margin-bottom: 2rem; padding-bottom: 1.5rem; }
.search-page :global(.library-search-result__meta) { font-size: .85rem; }
.search-page :global(.library-search-results__pager) { display: flex; gap: .75rem; }
@media (max-width: 640px) {
.search-page :global(.library-search__controls) { grid-template-columns: 1fr; }
}
</style>
+163
View File
@@ -0,0 +1,163 @@
export const libraryLocales = ['en', 'es', 'ar'] as const;
export type LibraryLocale = typeof libraryLocales[number];
export interface LibraryBlogEntry {
id: string;
collection: 'blog';
body?: string;
data: {
lang: string;
slug: string;
title: string;
description?: string;
date: Date | string | number;
author: string;
category?: string;
tags?: string[];
};
}
export interface LibraryAuthorEntry {
id: string;
data: {
lang: string;
slug: string;
name: string;
};
}
export interface LibraryPublication<TEntry extends LibraryBlogEntry = LibraryBlogEntry> {
route: string;
eligible: boolean;
entry: TEntry | { collection: string };
}
export interface LibrarySearchRecord {
url: string;
locale: LibraryLocale;
title: string;
description: string;
headings: string[];
category: string;
tags: string[];
author: {
name: string;
slug: string;
};
publishedAt: string;
}
export interface LibraryCatalogItem<TEntry extends LibraryBlogEntry = LibraryBlogEntry> {
route: string;
entry: TEntry;
search: LibrarySearchRecord;
}
export interface LibraryCatalog<TEntry extends LibraryBlogEntry = LibraryBlogEntry> {
all: LibraryCatalogItem<TEntry>[];
byLocale: Record<LibraryLocale, LibraryCatalogItem<TEntry>[]>;
}
const localeOrder = new Set<string>(libraryLocales);
const compareRoutes = (left: string, right: string) => left.localeCompare(right, 'en');
function plainHeading(value: string): string {
if (/[<{][^>}]*(?:script|style|import|export)[^>}]*[>}]/iu.test(value)) return '';
const text = value
.replace(/\s+#+\s*$/u, '')
.replace(/!\[([^\]]*)\]\([^)]*\)/gu, '$1')
.replace(/\[([^\]]+)\]\([^)]*\)/gu, '$1')
.replace(/`([^`]*)`/gu, '$1')
.replace(/<[^>]+>/gu, ' ')
.replace(/[\*_~]/gu, '')
.replace(/\\([\\`*{}\[\]()#+.!_>-])/gu, '$1')
.replace(/\s+/gu, ' ')
.trim();
return text.length <= 300 ? text : text.slice(0, 300).trimEnd();
}
/** Extract bounded visible Markdown headings without parsing code or MDX implementation. */
export function extractMarkdownHeadings(source = ''): string[] {
const headings: string[] = [];
let fence: string | undefined;
for (const line of source.split(/\r?\n/u)) {
const fenceMatch = line.match(/^\s{0,3}(`{3,}|~{3,})/u);
if (fenceMatch) {
if (!fence) fence = fenceMatch[1][0];
else if (fence === fenceMatch[1][0]) fence = undefined;
continue;
}
if (fence) continue;
const match = line.match(/^\s{0,3}#{1,6}\s+(.+?)\s*$/u);
if (!match) continue;
const heading = plainHeading(match[1]);
if (heading && !headings.includes(heading)) headings.push(heading);
if (headings.length === 50) break;
}
return headings;
}
function normalizedTags(tags: string[] | undefined): string[] {
return [...new Set((tags ?? []).map((tag) => tag.trim()).filter(Boolean))];
}
function publishedAt(value: Date | string | number, id: string): { iso: string; time: number } {
const date = value instanceof Date ? value : new Date(value);
const time = date.valueOf();
if (!Number.isFinite(time)) throw new Error(`Invalid Library publication date: ${id}`);
return { iso: date.toISOString().slice(0, 10), time };
}
export function createLibraryCatalog<TEntry extends LibraryBlogEntry>(
manifest: LibraryPublication<TEntry>[],
authors: LibraryAuthorEntry[]
): LibraryCatalog<TEntry> {
const authorMap = new Map<string, LibraryAuthorEntry>();
for (const author of authors) {
if (!localeOrder.has(author.data.lang) || !author.data.slug || !author.data.name.trim()) {
throw new Error(`Invalid Library author record: ${author.id}`);
}
const key = `${author.data.lang}:${author.data.slug}`;
if (authorMap.has(key)) throw new Error(`Missing or ambiguous article author: ${key} (duplicate Library author records)`);
authorMap.set(key, author);
}
const seenRoutes = new Set<string>();
const dated: Array<LibraryCatalogItem<TEntry> & { publicationTime: number }> = [];
for (const publication of manifest) {
if (!publication.eligible || publication.entry.collection !== 'blog') continue;
const entry = publication.entry as TEntry;
const locale = entry.data.lang as LibraryLocale;
if (!localeOrder.has(locale)) throw new Error(`Unsupported Library locale: ${entry.id}`);
if (seenRoutes.has(publication.route)) throw new Error(`Duplicate Library route: ${publication.route}`);
seenRoutes.add(publication.route);
const author = authorMap.get(`${locale}:${entry.data.author}`);
if (!author) throw new Error(`Missing or ambiguous article author: ${locale}:${entry.data.author} for ${entry.id}`);
const date = publishedAt(entry.data.date, entry.id);
dated.push({
route: publication.route,
entry,
publicationTime: date.time,
search: {
url: publication.route,
locale,
title: entry.data.title,
description: entry.data.description ?? '',
headings: extractMarkdownHeadings(entry.body),
category: entry.data.category?.trim() ?? '',
tags: normalizedTags(entry.data.tags),
author: { name: author.data.name, slug: author.data.slug },
publishedAt: date.iso
}
});
}
dated.sort((left, right) => right.publicationTime - left.publicationTime || compareRoutes(left.route, right.route));
const all = dated.map(({ publicationTime: _publicationTime, ...item }) => item);
const byLocale = Object.fromEntries(libraryLocales.map((locale) => [
locale,
all.filter((item) => item.search.locale === locale)
])) as Record<LibraryLocale, LibraryCatalogItem<TEntry>[]>;
return { all, byLocale };
}
+97
View File
@@ -0,0 +1,97 @@
import type { LibraryLocale, LibrarySearchRecord } from './library-catalog';
export interface LibrarySearchMatch {
record: LibrarySearchRecord;
score: number;
}
export interface LegacyLibrarySearchState {
query: string;
language: LibraryLocale | 'all';
offset: number;
types: string[];
}
const combiningMarks = /\p{M}+/gu;
const punctuation = /[\p{P}\p{S}]+/gu;
/** Build a comparison-only key while preserving the original record for display. */
export function normalizeLibrarySearchText(value: unknown, locale: LibraryLocale): string {
return String(value ?? '')
.normalize('NFKC')
.toLocaleLowerCase(locale)
.normalize('NFD')
.replace(combiningMarks, '')
.replace(/\u0640/gu, '')
.normalize('NFC')
.replace(punctuation, ' ')
.replace(/\s+/gu, ' ')
.trim();
}
function words(value: string): Set<string> {
return new Set(value.split(' ').filter(Boolean));
}
function tokenScore(token: string, fields: Array<{ text: string; weight: number }>): number {
let score = 0;
for (const field of fields) {
const fieldWords = words(field.text);
if (fieldWords.has(token)) score = Math.max(score, field.weight);
// Three-character partial tokens support attached Arabic particles and
// ordinary word prefixes without introducing fuzzy edits or stemming.
else if (token.length >= 3 && [...fieldWords].some((word) => word.includes(token))) {
score = Math.max(score, Math.floor(field.weight * 0.6));
}
}
return score;
}
export function searchLibrary(records: LibrarySearchRecord[], query: unknown): LibrarySearchMatch[] {
const locale = records[0]?.locale ?? 'en';
const normalizedQuery = normalizeLibrarySearchText(query, locale);
if (!normalizedQuery) return [];
const tokens = [...new Set(normalizedQuery.split(' ').filter(Boolean))];
return records.flatMap((record) => {
const title = normalizeLibrarySearchText(record.title, record.locale);
const headings = normalizeLibrarySearchText(record.headings.join(' '), record.locale);
const description = normalizeLibrarySearchText(record.description, record.locale);
const categoryTags = normalizeLibrarySearchText([record.category, ...record.tags].join(' '), record.locale);
const author = normalizeLibrarySearchText(`${record.author.name} ${record.author.slug}`, record.locale);
const fields = [
{ text: title, weight: 100 },
{ text: headings, weight: 60 },
{ text: description, weight: 30 },
{ text: categoryTags, weight: 20 },
{ text: author, weight: 10 }
];
const scores = tokens.map((token) => tokenScore(token, fields));
if (scores.some((score) => score === 0)) return [];
const phrase = title === normalizedQuery ? 1000 : title.includes(normalizedQuery) ? 500 : 0;
return [{ record, score: phrase + scores.reduce((total, score) => total + score, 0) }];
}).sort((left, right) => right.score - left.score
|| Date.parse(right.record.publishedAt) - Date.parse(left.record.publishedAt)
|| left.record.url.localeCompare(right.record.url, 'en'));
}
/** Parse legacy state without treating compatibility content types as search scope. */
export function parseLegacyLibrarySearchState(value: string | URLSearchParams): LegacyLibrarySearchState {
const params = typeof value === 'string' ? new URLSearchParams(value) : value;
const query = params.has('term') ? params.get('term') ?? '' : params.get('q') ?? '';
const requestedLanguage = params.get('lang');
const language = requestedLanguage && ['en', 'es', 'ar'].includes(requestedLanguage)
? requestedLanguage as LibraryLocale
: 'all';
const rawOffset = Number(params.get('offset'));
const offset = Number.isInteger(rawOffset) && rawOffset >= 0 && rawOffset % 10 === 0 ? rawOffset : 0;
return { query, language, offset, types: params.getAll('type') };
}
export function boundedSearchOffset(resultCount: number, requestedOffset: number, pageSize = 10): number {
if (!Number.isInteger(resultCount) || resultCount <= 0 || !Number.isInteger(pageSize) || pageSize <= 0) return 0;
const validOffset = Number.isInteger(requestedOffset) && requestedOffset >= 0 && requestedOffset % pageSize === 0
? requestedOffset
: 0;
return Math.min(validOffset, Math.floor((resultCount - 1) / pageSize) * pageSize);
}
+15
View File
@@ -0,0 +1,15 @@
import { getCollection, type CollectionEntry } from 'astro:content';
import { createLibraryCatalog, type LibraryCatalog } from './library-catalog';
import { getPublicationManifest } from './publication';
let catalog: Promise<LibraryCatalog<CollectionEntry<'blog'>>> | undefined;
export function getLibraryCatalog(): Promise<LibraryCatalog<CollectionEntry<'blog'>>> {
catalog ??= Promise.all([getPublicationManifest(), getCollection('authors')]).then(([manifest, authors]) =>
createLibraryCatalog(
manifest as Parameters<typeof createLibraryCatalog<CollectionEntry<'blog'>>>[0],
authors
)
);
return catalog;
}
+3
View File
@@ -8,6 +8,9 @@ export interface PublicationEntry {
noindex?: boolean;
canonical?: string;
translationKey?: string;
displayH1?: string;
featuredImage?: string;
alt?: string;
};
}
+2
View File
@@ -1,6 +1,7 @@
import { getCollection } from 'astro:content';
import site from '../data/site.json';
import { createPublicationManifest, normalizeRoute } from './publication-policy';
import { createLibrarySearchPublication } from './search-publication';
export const allowIndexing = import.meta.env.PUBLIC_ALLOW_INDEXING === 'true';
@@ -11,6 +12,7 @@ export async function getPublicationManifest() {
export async function getPublication(route: string) {
const normalized = normalizeRoute(route);
if (normalized === '/search') return createLibrarySearchPublication(site.url);
const publication = (await getPublicationManifest()).find((page) => page.route === normalized);
if (!publication?.eligible) throw new Error(`Route is not published: ${normalized}`);
return publication;
+11
View File
@@ -0,0 +1,11 @@
import { publicationFor, type PublicationEntry, type TranslatedPublication } from './publication-policy.ts';
const entry: PublicationEntry = {
id: 'utility/search',
collection: 'pages',
data: { lang: 'en', slug: 'search', draft: false, noindex: true }
};
export function createLibrarySearchPublication(site: string): TranslatedPublication & { entry: PublicationEntry } {
return { ...publicationFor(entry, site), entry, translations: [] };
}
+249
View File
@@ -0,0 +1,249 @@
import assert from 'node:assert/strict';
import { after, before, test } from 'node:test';
import { cp, mkdtemp, readFile, rm, symlink, writeFile } from 'node:fs/promises';
import { execFileSync } from 'node:child_process';
import os from 'node:os';
import path from 'node:path';
import { fileURLToPath, pathToFileURL } from 'node:url';
import fg from 'fast-glob';
import matter from 'gray-matter';
import { load } from 'cheerio';
import { createLibraryCatalog, extractMarkdownHeadings } from '../src/utils/library-catalog.ts';
import { boundedSearchOffset, normalizeLibrarySearchText, parseLegacyLibrarySearchState, searchLibrary } from '../src/utils/library-search.ts';
import { createPublicationManifest, renderSitemap, robotsFor } from '../src/utils/publication-policy.ts';
import { createLibrarySearchPublication } from '../src/utils/search-publication.ts';
const project = fileURLToPath(new URL('../', import.meta.url));
const site = JSON.parse(await readFile(path.join(project, 'src/data/site.json'), 'utf8')).url;
async function contentEntries(root = project) {
return Promise.all((await fg('src/content/{pages,blog}/**/*.{md,mdx}', { cwd: root })).sort().map(async (file) => {
const source = await readFile(path.join(root, file), 'utf8');
const parsed = matter(source);
const [, , collection, ...parts] = file.split('/');
return { id: parts.join('/').replace(/\.mdx?$/, ''), collection, body: parsed.content, data: parsed.data };
}));
}
async function authorEntries(root = project) {
return Promise.all((await fg('src/content/authors/**/*.{md,mdx}', { cwd: root })).sort().map(async (file) => {
const parsed = matter(await readFile(path.join(root, file), 'utf8'));
return { id: file.replace(/^src\/content\/authors\//, '').replace(/\.mdx?$/, ''), data: parsed.data };
}));
}
const entries = await contentEntries();
const manifest = createPublicationManifest(entries, site);
const catalog = createLibraryCatalog(manifest, await authorEntries());
function record(overrides = {}) {
return {
url: '/library/example', locale: 'en', title: 'Autism Support Guide', description: 'Practical family resources',
headings: ['Planning Daily Routines'], category: 'Library', tags: [], author: { name: 'Rula Diab', slug: 'rula-diab' },
publishedAt: '2026-01-01', ...overrides
};
}
test('actual catalog groups every eligible post by locale and preserves syndicated noindex records', () => {
assert.deepEqual(Object.fromEntries(Object.entries(catalog.byLocale).map(([locale, items]) => [locale, items.length])), { en: 46, es: 12, ar: 7 });
assert.equal(catalog.all.length, 65);
for (const slug of ['community-highlight-meet-rula-diab', 'new-aia-scottsdale-office']) {
assert.ok(catalog.byLocale.en.some(({ search }) => search.url === `/library/${slug}`));
}
assert.equal(new Set(catalog.all.map(({ route }) => route)).size, 65);
assert.ok(catalog.all.every(({ search }) => search.author.name === 'Rula Diab'));
});
test('catalog ordering is date descending with route ascending as the stable tie-breaker', () => {
for (let index = 1; index < catalog.all.length; index++) {
const previous = catalog.all[index - 1].search;
const current = catalog.all[index].search;
const dateOrder = Date.parse(previous.publishedAt) - Date.parse(current.publishedAt);
assert.ok(dateOrder > 0 || (dateOrder === 0 && previous.url.localeCompare(current.url, 'en') < 0));
}
});
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 make = (slug, draft = false) => ({
id: `en/${slug}`, collection: 'blog', body: '## Searchable heading',
data: { lang: 'en', slug, title: slug, description: '', date: '2026-01-01', author: 'author', category: 'Library', tags: [], draft }
});
const fixtureManifest = createPublicationManifest([make('new-post'), make('draft-post', true)], site);
const fixture = createLibraryCatalog(fixtureManifest, author);
assert.deepEqual(fixture.all.map(({ route }) => route), ['/library/new-post']);
assert.deepEqual(fixture.all[0].search.headings, ['Searchable heading']);
});
test('catalog rejects duplicate routes and missing or ambiguous locale authors', () => {
const source = {
id: 'en/example', collection: 'blog', body: '',
data: { lang: 'en', slug: 'example', title: 'Example', description: '', date: '2026-01-01', author: 'author' }
};
const publication = { route: '/library/example', eligible: true, entry: source };
assert.throws(() => createLibraryCatalog([publication, publication], [{ id: 'a', data: { lang: 'en', slug: 'author', name: 'Author' } }]), /Duplicate Library route/);
assert.throws(() => createLibraryCatalog([publication], []), /Missing or ambiguous article author/);
assert.throws(() => createLibraryCatalog([publication], [
{ id: 'a', data: { lang: 'en', slug: 'author', name: 'Author' } },
{ id: 'b', data: { lang: 'en', slug: 'author', name: 'Other' } }
]), /Missing or ambiguous article author/);
});
test('heading extraction ignores fenced code and strips Markdown/MDX presentation syntax', () => {
assert.deepEqual(extractMarkdownHeadings(`## Visible **heading**\n\n\`\`\`md\n## Hidden code\n\`\`\`\n## [Linked heading](/path)\n## <Widget script="ignored" />\n## ![Image heading](/image.jpg)`), [
'Visible heading', 'Linked heading', 'Image heading'
]);
});
test('normalization handles case, whitespace, punctuation, Spanish accents, and Arabic marks', () => {
assert.equal(normalizeLibrarySearchText(' EVALUACIÓN—ABA ', 'es'), 'evaluacion aba');
assert.equal(normalizeLibrarySearchText('التَّـوحُّد', 'ar'), 'التوحد');
assert.doesNotThrow(() => normalizeLibrarySearchText('\ud800 🙂 ???', 'en'));
});
test('search handles empty, exact-title, headings, descriptions, authors, categories and multiple terms', () => {
const records = [
record(),
record({ url: '/library/second', title: 'Second article', description: 'Autism support', publishedAt: '2026-02-01' })
];
assert.deepEqual(searchLibrary(records, ''), []);
assert.deepEqual(searchLibrary(records, ' '), []);
assert.equal(searchLibrary(records, 'Autism Support Guide')[0].record.url, '/library/example');
assert.equal(searchLibrary([records[0]], 'daily routines')[0].record.url, '/library/example');
assert.equal(searchLibrary([records[0]], 'family resources')[0].record.url, '/library/example');
assert.equal(searchLibrary([records[0]], 'Rula Diab')[0].record.url, '/library/example');
assert.equal(searchLibrary([records[0]], 'Library')[0].record.url, '/library/example');
assert.equal(searchLibrary(records, 'autism resources').length, 1);
assert.equal(searchLibrary(records, 'nonexistent').length, 0);
});
test('search matches Spanish accents and Arabic diacritics without changing display text', () => {
const spanish = record({ locale: 'es', title: 'Evaluación del autismo', url: '/es/library/evaluacion' });
const arabic = record({ locale: 'ar', title: 'دليل التَّـوحُّد', url: '/ar/library/guide' });
assert.equal(searchLibrary([spanish], 'evaluacion')[0].record.title, 'Evaluación del autismo');
assert.equal(searchLibrary([arabic], 'التوحد')[0].record.title, 'دليل التَّـوحُّد');
});
test('equal search scores use publication date then normalized route', () => {
const records = [
record({ url: '/library/z', title: 'Shared title', publishedAt: '2025-01-01' }),
record({ url: '/library/b', title: 'Shared title', publishedAt: '2026-01-01' }),
record({ url: '/library/a', title: 'Shared title', publishedAt: '2026-01-01' })
];
assert.deepEqual(searchLibrary(records, 'shared').map(({ record: item }) => item.url), ['/library/a', '/library/b', '/library/z']);
});
test('legacy query parsing gives term precedence, preserves repeated types, and normalizes offset/language', () => {
assert.deepEqual(parseLegacyLibrarySearchState('?term=autism&q=ignored&type=BLOG_POST&type=SITE_PAGE&lang=es&offset=20'), {
query: 'autism', language: 'es', offset: 20, types: ['BLOG_POST', 'SITE_PAGE']
});
assert.deepEqual(parseLegacyLibrarySearchState('?q=%3Cscript%3E&lang=unknown&offset=-10'), {
query: '<script>', language: 'all', offset: 0, types: []
});
assert.equal(parseLegacyLibrarySearchState('?term=&q=fallback').query, '');
for (const offset of ['NaN', '11', '-20', 'Infinity']) assert.equal(parseLegacyLibrarySearchState(`?offset=${offset}`).offset, 0);
});
test('legacy page offsets clamp to the last real ten-result page', () => {
assert.equal(boundedSearchOffset(0, 100), 0);
assert.equal(boundedSearchOffset(25, 0), 0);
assert.equal(boundedSearchOffset(25, 20), 20);
assert.equal(boundedSearchOffset(25, 100), 20);
assert.equal(boundedSearchOffset(25, 11), 0);
});
test('mixed-language Library search returns matching records without translation or mutation', () => {
const records = [
record({ locale: 'en', title: 'Autism support', url: '/library/en' }),
record({ locale: 'es', title: 'Apoyo para el autismo', url: '/es/library/es' }),
record({ locale: 'ar', title: 'دعم للأطفال المصابين بالتوحد', url: '/ar/library/ar' })
];
assert.deepEqual(searchLibrary(records, 'autism').map(({ record: item }) => item.url), ['/library/en', '/es/library/es']);
assert.deepEqual(searchLibrary(records, 'autismo').map(({ record: item }) => item.url), ['/es/library/es']);
assert.deepEqual(searchLibrary(records, 'التوحد').map(({ record: item }) => item.url), ['/ar/library/ar']);
});
let temporary;
const artifacts = new Map();
before(async () => {
temporary = await mkdtemp(path.join(os.tmpdir(), 'aia-library-test-'));
await cp(path.join(project, 'src'), path.join(temporary, 'src'), { recursive: true });
await symlink(path.join(project, 'node_modules'), path.join(temporary, 'node_modules'), 'dir');
await writeFile(path.join(temporary, 'package.json'), '{"type":"module"}\n');
const 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')))},logLevel:'silent',vite:{cacheDir:${JSON.stringify(path.join(temporary, '.vite'))}}});`;
for (const mode of ['staging', 'indexing']) {
execFileSync(process.execPath, ['--input-type=module', '-e', runner], {
cwd: temporary, env: { ...process.env, PUBLIC_ALLOW_INDEXING: mode === 'indexing' ? 'true' : 'false' },
timeout: 90_000, maxBuffer: 4 * 1024 * 1024
});
const html = new Map();
for (const file of await fg('**/*.html', { cwd: path.join(temporary, 'dist') })) {
const route = '/' + file.replace(/(^|\/)index\.html$/, '').replace(/\/$/, '');
html.set(route, await readFile(path.join(temporary, 'dist', file), 'utf8'));
}
const indexes = Object.fromEntries(await Promise.all(['en', 'es', 'ar'].map(async (locale) => [
locale,
JSON.parse(await readFile(path.join(temporary, 'dist/assets/search/library', `${locale}.json`), 'utf8'))
])));
artifacts.set(mode, { html, indexes, sitemap: await readFile(path.join(temporary, 'dist/sitemap.xml'), 'utf8') });
}
}, { timeout: 180_000 });
after(async () => {
if (temporary) await rm(temporary, { recursive: true, force: true });
});
test('build emits one deterministic, minimal UTF-8 index per locale', () => {
const first = artifacts.get('staging').indexes;
const second = artifacts.get('indexing').indexes;
assert.deepEqual(second, first);
assert.deepEqual(Object.fromEntries(Object.entries(first).map(([locale, records]) => [locale, records.length])), { en: 46, es: 12, ar: 7 });
for (const [locale, records] of Object.entries(first)) {
assert.ok(records.every((item) => item.locale === locale && item.url.startsWith(locale === 'en' ? '/library/' : `/${locale}/library/`)));
assert.equal(new Set(records.map((item) => item.url)).size, records.length);
for (const item of records) {
assert.deepEqual(Object.keys(item), ['url', 'locale', 'title', 'description', 'headings', 'category', 'tags', 'author', 'publishedAt']);
assert.deepEqual(Object.keys(item.author), ['name', 'slug']);
assert.ok(!JSON.stringify(item).includes('<script'));
assert.ok(!('body' in item) && !('canonical' in item) && !('draft' in item));
}
}
});
test('Library pages retain every server-rendered article and expose progressive search controls', () => {
for (const [route, locale, count] of [['/library', 'en', 46], ['/es/library', 'es', 12], ['/ar/library', 'ar', 7]]) {
const $ = load(artifacts.get('staging').html.get(route));
assert.equal($('.blog-list .blog-card').length, count, route);
assert.equal($('[data-library-search][hidden]').length, 1, route);
assert.equal($('noscript').length, 1, route);
assert.match($('noscript').html(), /library-search__noscript/, route);
assert.equal($('html').attr('lang'), locale, route);
assert.equal($('html').attr('dir'), locale === 'ar' ? 'rtl' : 'ltr', route);
}
});
test('/search is a noindex static Library-only compatibility route in both build modes', () => {
const publication = createLibrarySearchPublication(site);
for (const mode of ['staging', 'indexing']) {
const { html, sitemap } = artifacts.get(mode);
assert.equal(html.size, manifest.filter((item) => item.eligible).length + 1);
const $ = load(html.get('/search'));
assert.equal($('link[rel="canonical"]').attr('href'), `${site}/search`);
assert.equal($('meta[name="robots"]').attr('content'), robotsFor(publication, mode === 'indexing'));
assert.equal($('link[hreflang]').length, 0);
assert.equal($('[data-library-search][data-mode="legacy"]').length, 1);
assert.equal($('main h1').length, 1);
assert.match($('main').text(), /Library articles/);
assert.ok(!sitemap.includes(`${site}/search`));
assert.equal(sitemap, renderSitemap(manifest, mode === 'indexing'));
}
});
test('client source uses textContent and contains no analytics, cookies, external search, or innerHTML sink', async () => {
const source = await readFile(path.join(project, 'src/components/LibrarySearch.astro'), 'utf8');
assert.match(source, /textContent/);
assert.doesNotMatch(source, /innerHTML|document\.cookie|localStorage|sessionStorage|analytics|HubSpot/i);
assert.match(source, /URLSearchParams/);
assert.match(source, /popstate|hashchange/);
});
+9 -3
View File
@@ -9,6 +9,7 @@ import fg from 'fast-glob';
import matter from 'gray-matter';
import { load } from 'cheerio';
import { createPublicationManifest, hreflangLinksFor, normalizeRoute, publicationFor, renderSitemap, robotsFor, sitemapUrls, validateTranslationGraph } from '../src/utils/publication-policy.ts';
import { createLibrarySearchPublication } from '../src/utils/search-publication.ts';
const project = fileURLToPath(new URL('../', import.meta.url));
const site = JSON.parse(await readFile(path.join(project, 'src/data/site.json'), 'utf8')).url;
@@ -119,6 +120,10 @@ test('generated-head acceptance checks reject missing, duplicate and invalid can
const sourceEntries = await readEntries(project);
const actualManifest = createPublicationManifest(sourceEntries, site);
const generatedPublications = (manifest) => [
...manifest.filter((page) => page.eligible),
createLibrarySearchPublication(site)
];
function translationPair() {
return createPublicationManifest([
@@ -331,13 +336,14 @@ after(async () => {
for (const mode of ['staging', 'indexing']) {
test(`${mode} build: only eligible local routes are generated, including home/Library`, () => {
assert.deepEqual([...artifacts.get(mode).html.keys()].sort(), fixtureManifest.filter((page) => page.eligible).map((page) => page.route).sort());
assert.deepEqual([...artifacts.get(mode).html.keys()].sort(), generatedPublications(fixtureManifest).map((page) => page.route).sort());
assert.ok(!artifacts.get(mode).html.has('/ar'));
assert.ok(artifacts.get(mode).html.has('/schedule-consultation'));
assert.ok(artifacts.get(mode).html.has('/search'));
});
test(`${mode} build: every generated head has exactly one correct canonical and robots tag`, () => {
for (const page of fixtureManifest.filter((candidate) => candidate.eligible)) {
for (const page of generatedPublications(fixtureManifest)) {
const html = artifacts.get(mode).html.get(page.route);
assertCanonical(html, page.canonical);
const $ = load(html);
@@ -366,7 +372,7 @@ for (const mode of ['staging', 'indexing']) {
}
function assertRenderedTranslations({ html }, manifest, allowIndexing) {
const pages = new Map(manifest.map((page) => [page.route, page]));
const pages = new Map(generatedPublications(manifest).map((page) => [page.route, page]));
for (const [route, content] of html) {
const page = pages.get(route);
assert.ok(page, `Unknown generated route: ${route}`);
+5 -1
View File
@@ -9,6 +9,7 @@ import fg from 'fast-glob';
import matter from 'gray-matter';
import { load } from 'cheerio';
import { createPublicationManifest, hreflangLinksFor, renderSitemap, robotsFor } from '../src/utils/publication-policy.ts';
import { createLibrarySearchPublication } from '../src/utils/search-publication.ts';
import { socialImageUrl } from '../src/utils/seo.ts';
import { blogPostingSchema, faqItemsFromSourceHtml, faqPageSchema, serializeJsonLd } from '../src/utils/structured-data.ts';
import { homePageSchema, homeSectionsSchema } from '../src/types/home-sections.ts';
@@ -248,7 +249,10 @@ test('no image means no image-specific metadata and a valid summary card; no alt
for (const mode of ['staging', 'indexing']) {
test(`${mode}: existing publication policy, metadata, language and navigation are unchanged`, () => {
const { html, sitemap } = artifacts.get(mode);
assert.deepEqual([...html.keys()].sort(), manifest.filter((item) => item.eligible).map((item) => item.route).sort());
assert.deepEqual([...html.keys()].sort(), [
...manifest.filter((item) => item.eligible).map((item) => item.route),
createLibrarySearchPublication(site).route
].sort());
assert.equal(sitemap, renderSitemap(manifest, mode === 'indexing'));
for (const publication of manifest.filter((item) => item.eligible)) {
const { route, entry, canonical } = publication;