wdwprepschool.com

Обзор веб-сайта wdwprepschool.com

WDW Prep School - oddly specific Disney parks (and related) planning

 Сгенерирован 02 Мая 2026 01:29

Устаревшие данные? ОБНОВИТЬ !

Набрано баллов: 55/100

СЕО Контент

Заголовок страницы

WDW Prep School - oddly specific Disney parks (and related) planning

Длина : 68

Замечательно, Ваш заголовок страницы содержит от 10 до 70 символов.

Описание страницы

Learn how to maximize your dollars and time as you plan the trip you've always dreamt of.

Длина : 89

Замечательно, Ваше описание страницы содержит от 70 до 160 символов.

Ключевые слова

Очень плохо. Мы не нашли ключевых слов на Вашем веб-сайте. Используйте бесплатный генератор мета-тэгов, чтобы сгенерировать ключевые слова.

Og Meta Properties

Замечательно, Вы используете преимущества Og Properties.

Свойство Контент
url https://wdwprepschool.com
title WDW Prep School - oddly specific Disney parks (and related) planning
description Learn how to maximize your dollars and time as you plan the trip you've always dreamt of.
type website
image https://wdwprepschool.com/wp-content/uploads/wdw-prep-school-you-ll-learn-things-you-never-knew-you-never-knew.jpg
image:width 500
image:type image/jpeg
site_name WDW Prep School
locale en_US

Заголовки

H1 H2 H3 H4 H5 H6
1 9 10 2 0 0
  • [H1]
  • [H2] ","content":"","sidebar":"","sticky_sidebar":"","adhesion":""}}; /* */ Uh oh! We don't support IE due to its failure to integrate new web standards. For the best browsing experience, please use More Info → const headerLogoContainer = document.querySelector('.header-container'); headerLogoContainer.classList.add('preloaded'); /*! * FullCalendar v1.6.4-yearview * Docs & License: http://arshaw.com/fullcalendar/ * (c) 2013 Adam Shaw - 2014 Tanguy Pruvot */ /* * Use fullcalendar.css for basic styling. * For event drag & drop, requires jQuery UI draggable. * For event resizing, requires jQuery UI resizable. */ (function($, undefined) { ;; var defaults = { // display defaultView: 'month', aspectRatio: 1.35, header: { left: 'title', center: '', right: 'today prev,next' }, weekends: true, weekNumbers: false, weekNumberCalculation: 'iso', weekNumberTitle: 'W', // editing //editable: false, //disableDragging: false, //disableResizing: false, allDayDefault: true, ignoreTimezone: true, // event ajax lazyFetching: true, startParam: 'start', endParam: 'end', // date restriction minDate: null, maxDate: null, // time formats titleFormat: { year: 'yyyy', month: 'MMMM yyyy', week: "MMM d[ yyyy]{ '—'[ MMM] d yyyy}", day: 'dddd, MMM d, yyyy' }, columnFormat: { year: 'MMMM', month: 'ddd', week: 'ddd M/d', day: 'dddd M/d' }, timeFormat: { // for event elements '': 'h(:mm)t' // default }, // locale isRTL: false, firstDay: 0, monthNames: ['January','February','March','April','May','June','July','August','September','October','November','December'], monthNamesShort: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'], dayNames: ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], dayNamesShort: ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'], dayNamesShortest: ['S','M','T','W','T','F','S'], buttonText: { prev: "‹", next: "›", prevYear: "«", nextYear: "»", today: 'today', year: 'year', month: 'month', week: 'week', day: 'day' }, // jquery-ui theming theme: false, buttonIcons: { prev: 'circle-triangle-w', next: 'circle-triangle-e' }, //selectable: false, unselectAuto: true, dropAccept: '*', handleWindowResize: true }; // right-to-left defaults var rtlDefaults = { header: { left: 'next,prev today', center: '', right: 'title' }, buttonText: { prev: "›", next: "‹", prevYear: "»", nextYear: "«" }, buttonIcons: { prev: 'circle-triangle-e', next: 'circle-triangle-w' } }; ;; var fc = $.fullCalendar = { version: "1.6.4-yearview" }; var fcViews = fc.views = {}; $.fn.fullCalendar = function(options) { // method calling if (typeof options == 'string') { var args = Array.prototype.slice.call(arguments, 1); var res; this.each(function() { var calendar = $.data(this, 'fullCalendar'); if (calendar && $.isFunction(calendar[options])) { var r = calendar[options].apply(calendar, args); if (res === undefined) { res = r; } if (options == 'destroy') { $.removeData(this, 'fullCalendar'); } } }); if (res !== undefined) { return res; } return this; } options = options || {}; // would like to have this logic in EventManager, but needs to happen before options are recursively extended var eventSources = options.eventSources || []; delete options.eventSources; if (options.events) { eventSources.push(options.events); delete options.events; } options = $.extend(true, {}, defaults, (options.isRTL || options.isRTL===undefined && defaults.isRTL) ? rtlDefaults : {}, options ); this.each(function(i, _element) { var element = $(_element); var calendar = new Calendar(element, options, eventSources); element.data('fullCalendar', calendar); // TODO: look into memory leak implications calendar.render(); }); return this; }; // function for adding/overriding defaults function setDefaults(d) { $.extend(true, defaults, d); } ;; function Calendar(element, options, eventSources) { var t = this; // exports t.options = options; t.render = render; t.destroy = destroy; t.refetchEvents = refetchEvents; t.reportEvents = reportEvents; t.reportEventChange = reportEventChange; t.rerenderEvents = rerenderEvents; t.changeView = changeView; t.select = select; t.unselect = unselect; t.prev = prev; t.next = next; t.prevYear = prevYear; t.nextYear = nextYear; t.today = today; t.gotoDate = gotoDate; t.incrementDate = incrementDate; t.formatDate = function(format, date) { return formatDate(format, date, options) }; t.formatDates = function(format, date1, date2) { return formatDates(format, date1, date2, options) }; t.getDate = getDate; t.getView = getView; t.option = option; t.trigger = trigger; // imports EventManager.call(t, options, eventSources); var isFetchNeeded = t.isFetchNeeded; var fetchEvents = t.fetchEvents; // locals var _element = element[0]; var header; var headerElement; var content; var tm; // for making theme classes var currentView; var elementOuterWidth; var suggestedViewHeight; var resizeUID = 0; var ignoreWindowResize = 0; var date = new Date(); var events = []; var _dragElement; /* Main Rendering -----------------------------------------------------------------------------*/ setYMD(date, options.year, options.month, options.date); function render(inc) { if (!content) { initialRender(); } else if (elementVisible()) { // mainly for the public API calcSize(); _renderView(inc); } } function initialRender() { tm = options.theme ? 'ui' : 'fc'; element.addClass('fc'); if (options.isRTL) { element.addClass('fc-rtl'); } else { element.addClass('fc-ltr'); } if (options.theme) { element.addClass('ui-widget'); } content = $("") .prependTo(element); header = new Header(t, options); headerElement = header.render(); if (headerElement) { element.prepend(headerElement); } changeView(options.defaultView); if (options.handleWindowResize) { $(window).resize(windowResize); } // needed for IE in a 0x0 iframe, b/c when it is resized, never triggers a windowResize if (!bodyVisible()) { lateRender(); } } // called when we know the calendar couldn't be rendered when it was initialized, // but we think it's ready now function lateRender() { setTimeout(function() { // IE7 needs this so dimensions are calculated correctly if (!currentView.start && bodyVisible()) { // !currentView.start makes sure this never happens more than once renderView(); } },0); } function destroy() { if (currentView) { trigger('viewDestroy', currentView, currentView, currentView.element); currentView.triggerEventDestroy(); } $(window).unbind('resize', windowResize); header.destroy(); content.remove(); element.removeClass('fc fc-rtl ui-widget'); } function elementVisible() { return element.is(':visible'); } function bodyVisible() { return $('body').is(':visible'); } /* View Rendering -----------------------------------------------------------------------------*/ function changeView(newViewName) { if (!currentView || newViewName != currentView.name) { _changeView(newViewName); } } function _changeView(newViewName) { ignoreWindowResize++; if (currentView) { trigger('viewDestroy', currentView, currentView, currentView.element); unselect(); currentView.triggerEventDestroy(); // trigger 'eventDestroy' for each event freezeContentHeight(); currentView.element.remove(); header.deactivateButton(currentView.name); } header.activateButton(newViewName); currentView = new fcViews[newViewName]( $("") .appendTo(content), t // the calendar object ); renderView(); unfreezeContentHeight(); ignoreWindowResize--; } function renderView(inc) { if ( !currentView.start || // never rendered before inc || date < currentView.start || date >= currentView.end // or new date range ) { if (elementVisible()) { _renderView(inc); } } } function _renderView(inc) { // assumes elementVisible ignoreWindowResize++; if (currentView.start) { // already been rendered? trigger('viewDestroy', currentView, currentView, currentView.element); unselect(); clearEvents(); } freezeContentHeight(); currentView.render(date, inc || 0); // the view's render method ONLY renders the skeleton, nothing else setSize(); unfreezeContentHeight(); (currentView.afterRender || noop)(); updateTitle(); updateNavigation(); trigger('viewRender', currentView, currentView, currentView.element); currentView.trigger('viewDisplay', _element); // deprecated ignoreWindowResize--; getAndRenderEvents(); } /* Resizing -----------------------------------------------------------------------------*/ function updateSize() { if (elementVisible()) { unselect(); clearEvents(); calcSize(); setSize(); renderEvents(); } } function calcSize() { // assumes elementVisible if (options.contentHeight) { suggestedViewHeight = options.contentHeight; } else if (options.height) { suggestedViewHeight = options.height - (headerElement ? headerElement.height() : 0) - vsides(content); } else { suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5)); } } function setSize() { // assumes elementVisible if (suggestedViewHeight === undefined) { calcSize(); // for first time // NOTE: we don't want to recalculate on every renderView because // it could result in oscillating heights due to scrollbars. } ignoreWindowResize++; currentView.setHeight(suggestedViewHeight); currentView.setWidth(content.width()); ignoreWindowResize--; elementOuterWidth = element.outerWidth(); } function windowResize() { if (!ignoreWindowResize) { if (currentView.start) { // view has already been rendered var uid = ++resizeUID; setTimeout(function() { // add a delay if (uid == resizeUID && !ignoreWindowResize && elementVisible()) { if (elementOuterWidth != (elementOuterWidth = element.outerWidth())) { ignoreWindowResize++; // in case the windowResize callback changes the height updateSize(); currentView.trigger('windowResize', _element); ignoreWindowResize--; } } }, 200); }else{ // calendar must have been initialized in a 0x0 iframe that has just been resized lateRender(); } } } /* Event Fetching/Rendering -----------------------------------------------------------------------------*/ // TODO: going forward, most of this stuff should be directly handled by the view function refetchEvents() { // can be called as an API method clearEvents(); fetchAndRenderEvents(); } function rerenderEvents(modifiedEventID) { // can be called as an API method clearEvents(); renderEvents(modifiedEventID); } function renderEvents(modifiedEventID) { // TODO: remove modifiedEventID hack if (elementVisible()) { currentView.setEventData(events); // for View.js, TODO: unify with renderEvents currentView.renderEvents(events, modifiedEventID); // actually render the DOM elements currentView.trigger('eventAfterAllRender'); } } function clearEvents() { currentView.triggerEventDestroy(); // trigger 'eventDestroy' for each event currentView.clearEvents(); // actually remove the DOM elements currentView.clearEventData(); // for View.js, TODO: unify with clearEvents } function getAndRenderEvents() { if (!options.lazyFetching || isFetchNeeded(currentView.visStart, currentView.visEnd)) { fetchAndRenderEvents(); } else { renderEvents(); } } function fetchAndRenderEvents() { fetchEvents(currentView.visStart, currentView.visEnd); // ... will call reportEvents // ... which will call renderEvents } // called when event data arrives function reportEvents(_events) { events = _events; renderEvents(); } // called when a single event's data has been changed function reportEventChange(eventID) { rerenderEvents(eventID); } /* Header Updating -----------------------------------------------------------------------------*/ function updateTitle() { header.updateTitle(currentView.title); } function updateTodayButton() { var today = new Date(); header.toggleEnable('today', (today < currentView.start || today >= currentView.end)); } function updateNavigation() { updateTodayButton(); if (options.minDate) { header.toggleEnable('prev', options.minDate < currentView.start); } if (options.maxDate) { header.toggleEnable('next', options.maxDate > currentView.end); } } /* Selection -----------------------------------------------------------------------------*/ function select(start, end, allDay) { currentView.select(start, end, allDay===undefined ? true : allDay); } function unselect() { // safe to be called before renderView if (currentView) { currentView.unselect(); } } /* Date -----------------------------------------------------------------------------*/ function prev() { renderView(-1); } function next() { renderView(1); } function prevYear() { addYears(date, -1); renderView(); } function nextYear() { addYears(date, 1); renderView(); } function today() { date = new Date(); renderView(); } function gotoDate(year, month, dateOfMonth) { if (year instanceof Date) { date = cloneDate(year); // provided 1 argument, a Date }else{ setYMD(date, year, month, dateOfMonth); } renderView(); } function incrementDate(years, months, days) { if (years !== undefined) { addYears(date, years); } if (months !== undefined) { addMonths(date, months); } if (days !== undefined) { addDays(date, days); } renderView(); } function getDate() { return cloneDate(date); } /* Height "Freezing" -----------------------------------------------------------------------------*/ function freezeContentHeight() { content.css({ width: '100%', height: content.height(), overflow: 'hidden' }); } function unfreezeContentHeight() { content.css({ width: '', height: '', overflow: '' }); } /* Misc -----------------------------------------------------------------------------*/ function getView() { return currentView; } function option(name, value) { if (value === undefined) { return options[name]; } if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') { options[name] = value; updateSize(); } } function trigger(name, thisObj) { if (options[name]) { return options[name].apply( thisObj || _element, Array.prototype.slice.call(arguments, 2) ); } } /* External Dragging ------------------------------------------------------------------------*/ if (options.droppable) { $(document) .bind('dragstart', function(ev, ui) { var _e = ev.target; var e = $(_e); if (!e.parents('.fc').length) { // not already inside a calendar var accept = options.dropAccept; if ($.isFunction(accept) ? accept.call(_e, e) : e.is(accept)) { _dragElement = _e; currentView.dragStart(_dragElement, ev, ui); } } }) .bind('dragstop', function(ev, ui) { if (_dragElement) { currentView.dragStop(_dragElement, ev, ui); _dragElement = null; } }); } } ;; function Header(calendar, options) { var t = this; // exports t.render = render; t.destroy = destroy; t.updateTitle = updateTitle; t.activateButton = activateButton; t.deactivateButton = deactivateButton; t.disableButton = disableButton; t.enableButton = enableButton; t.toggleEnable = toggleEnable; // locals var element = $([]); var tm; function render() { tm = options.theme ? 'ui' : 'fc'; var sections = options.header; if (sections) { element = $("") .append( $("") .append(renderSection('left')) .append(renderSection('center')) .append(renderSection('right')) ); return element; } } function destroy() { element.remove(); } function renderSection(position) { var e = $(""); var buttonStr = options.header[position]; if (buttonStr) { $.each(buttonStr.split(' '), function(i) { if (i > 0) { e.append(""); } var prevButton; $.each(this.split(','), function(j, buttonName) { if (buttonName == 'title') { e.append(" 
  • [H2] Hi! I’m Shannon Albert.
  • [H2] 2026 PLANNING
  • [H2] FEATURED
  • [H2] Current Events
  • [H2] COMING SOON
  • [H2] Don’t stand in line with everyone else.
  • [H2] Join the WDW Prep To Go Podcast
  • [H2] Contact an experienced agent
  • [H3] Each year, our advice on how to plan Disney World trips is viewed more than 12 million times. With monthly trips and stays in every resort, we work hard to bring you the best info so you can maximize your vacation time.
  • [H3] How to make Disney World reservations in 2026 (dining, Enchanting Extras, and more)
  • [H3] What’s New and Coming to Disney World in 2026, 2027 & Beyond
  • [H3] 2026 Disney World Discounts, Promotions & Special Offers
  • [H3] How Much Does it Cost to Go to Disney World in 2026?
  • [H3] When can I book a Disney World vacation package for 2027?
  • [H3] Disney World in January 2027: Crowds & Planning Info
  • [H3] 2026-2027 Disney World Crowd Calendar (best times to go)
  • [H3] How to make Disney World reservations in 2026 (dining, Enchanting Extras, and more)
  • [H3] Best Quick Service Restaurants at Disney World
  • [H4] Dynamic title for modals
  • [H4] Are you sure?

Картинки

Мы нашли 23 картинок на этом веб-сайте.

12 alt атрибута(-ов) не найдено. Добавив альтернативный текст, поисковые роботы будут лучше понимать содержание картинки.

Соотношение Контент/HTML

Соотношение : 2%

Соотношение текста в коде HTML у этой страницы меньше чем 15 процентов, это означает, что Вашем веб-сайту требуется больше контента.

Flash

Замечательно, мы не нашли Flash контента на странице.

Iframe

Замечательно, мы не зафиксировали Iframe'ов на Вашей странице.

ЧПУ ссылки

Отлично, все Ваши ссылки являются ЧПУ!

Нижнее подчеркивание в ссылках

Прекрасно! Мы не нашли "нижнее подчеркивание" в Ваших ссылках.

Внутренние ссылки

Мы нашли 17 ссылок(-и), включая 0 ссылок ссылок(-и) на файл(-ы).

Анкор Тип Вес ссылки
More Info → Внешняя Передает вес
' + htmlEscape(monthName) + ' Внешняя Передает вес
Skip to Content Внутренняя Передает вес
How to make Disney World reservations in 2026 (dining, Enchanting Extras, and more) Внутренняя Передает вес
What’s New and Coming to Disney World in 2026, 2027 & Beyond Внутренняя Передает вес
2026 Disney World Discounts, Promotions & Special Offers Внутренняя Передает вес
How Much Does it Cost to Go to Disney World in 2026? Внутренняя Передает вес
When can I book a Disney World vacation package for 2027? Внутренняя Передает вес
Disney World in January 2027: Crowds & Planning Info Внутренняя Передает вес
2026-2027 Disney World Crowd Calendar (best times to go) Внутренняя Передает вес
Best Quick Service Restaurants at Disney World Внутренняя Передает вес
Listen Now Внутренняя Передает вес
Get In Touch Внутренняя Передает вес
ABOUT Внутренняя Передает вес
CONTACT Внутренняя Передает вес
PRIVACY POLICY Внутренняя Передает вес
- Внутренняя Передает вес

Ключевые слова

Облако ключевых слов

how world disney party hours festival info epcot more mickeys

Содержание ключевых слов

Ключевое слово Контент Заголовок страницы Ключевые слова Описание страницы Заголовки
info 23
disney 18
world 12
festival 8
epcot 6

Юзабилити

Домен

Домен : wdwprepschool.com

Длина : 17

Favicon

Отлично, Ваш сайт имеет favicon.

Пригодность для печати

Отлично. Мы нашли CSS файл, отвечающий за печать веб-сайта.

Язык

Хорошо, Ваш установленный язык веб-сайта: en.

Dublin Core

Замечательно. Ваш веб-сайт использует преимущества Dublin Core.

Документ

Doctype

HTML 5

Кодировка

Замечательно. Кодировка веб-сайта: UTF-8.

W3C Validity

Ошибок : 0

Предупреждений : 0

Приватность эл. почты

Внимание! Как минимум 1 адрес эл. почты был найден в контенте. Воспользуйтесь бесплатной защитой от спама, чтобы скрыть адрес от спамеров.

Устаревший HTML

Отлично. Мы не нашли устаревших тэгов в Вашем HTML.

Скорость загрузки

Внимание! Попытайтесь избежать вложенных таблиц.
Слишком плохо. Ваш веб-сайт использует встроенные CSS правила в HTML тэгах.
Плохо. Ваш веб-сайт имеет слишком много CSS файлов (больше чем 4).
Плохо. Ваш веб-сайт имеет слишком много JavaScript файлов (больше чем 6).
Замечательно, ваш сайт использует возможность gzip сжатия.

Мобильный телефон

Оптимизация под моб. телефон

Apple иконки
Meta Viewport Тэг
Flash контент

Оптимизация

XML карта сайта

Отлично, ваш сайт имеет XML карту сайта.

https://wdwprepschool.com/sitemap.xml
https://wdwprepschool.com/sitemap-home.xml
https://wdwprepschool.com/sitemap-posts.xml
https://wdwprepschool.com/sitemap-pages.xml
https://wdwprepschool.com/sitemap-categories.xml

Robots.txt

https://wdwprepschool.com/robots.txt

Отлично, ваш веб-сайт содержит файл robots.txt.

Аналитика

Отлично, на вашем сайте присутствуют аналитические программы.

   Google Analytics
   Clicky

PageSpeed Insights


Устройство
Категории

Free SEO Testing Tool

Free SEO Testing Tool - это бесплатный СЕО инструмент, который поможет вам проанализировать Ваш веб-сайт.