wdwprepschool.com

Revisión web de wdwprepschool.com

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

 Generado el 02 Mayo 2026 01:29 AM

Resultados antiguos? ACTUALIZAR !

La puntuación es 55/100

Contenido SEO

Título

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

Longitud : 68

Perfecto, tu título contiene entre 10 y 70 caracteres.

Descripción

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

Longitud : 89

Genial, tu descripción meta contiene entre 70 y 160 caracteres.

Palabras Claves (Keywords)

Muy mal. No hemos encontrado palabras clave (meta keywords) en tu página. Usa este generador de meta tags gratuito para crear tus palabras clave.

Propiedades Meta Og

Bien. Tu página usa propiedades Og (etiquetas og).

Propiedad Contenido
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

Titulos

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?

Imagenes

Hemos encontrado 23 imágenes en esta web.

12 atributos alt están vacios o no existen. Agrega texto alternativo para que los motores de búsqueda puedan entender las imágenes.

Ratio Texto/HTML

Ratio : 2%

El ratio entre texto y código HTML de esta página es menor que el 15 por ciento, esto significa que tu web posiblemente necesite más contenido en texto.

Flash

Perfecto, no se ha detectado contenido Flash en la página.

Iframe

Genial, no se han detectado Iframes en la página.

Reescritura URL

Bien. Tus enlaces parecen amigables

Guiones bajos en las URLs

Perfecto! No hemos detectado guiones bajos en tus URLs

Enlaces en página

Hemos encontrado un total de 17 enlaces incluyendo 0 enlace(s) a ficheros

Palabras Clave SEO

Nube de Palabras Clave

info epcot disney party festival more mickeys world hours how

Consistencia de las Palabras Clave

Palabra Clave (Keyword) Contenido Título Palabras Claves (Keywords) Descripción Titulos
info 23
disney 18
world 12
festival 8
epcot 6

Usabilidad

Url

Dominio : wdwprepschool.com

Longitud : 17

Favicon

Genial, tu web tiene un favicon.

Imprimibilidad

Genial. Hemos encontrado una hoja de estilos CSS para impresión.

Idioma

Genial. Has declarado el idioma en.

Dublin Core

Genial. La página usa Dublin Core.

Documento

Tipo de documento (Doctype)

HTML 5

Codificación

Perfecto. Has declarado como codificación UTF-8.

Validez W3C

Errores : 0

Avisos : 0

Privacidad de los Emails

Atención! Hemos encontrado por lo menos una dirección de correo electrónico en texto plano. Usa este protector antispam gratuito para ocultarla de los spammers.

HTML obsoleto

Genial, no hemos detectado ninguna etiqueta HTML obsoleta.

Consejos de Velocidad

Atención! Intenta evitar el uso de tablas en HTML.
Muy mal, tu web está usando estilos embenidos (inline CSS).
Muy mal, tu página web usa demasiados ficheros CSS (más de 4).
Muy mal, tu sitio usa demasiados ficheros JavaScript (más de 6).
Su sitio web se beneficia del tipo de compresión gzip. ¡Perfecto!

Movil

Optimización Móvil

Icono para Apple
Etiqueta Meta Viewport
Contenido Flash

Optimización

Mapa del sitio XML

¡Perfecto! Su sitio tiene un mapa del sitio en 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

¡Estupendo! Su sitio web tiene un archivo robots.txt.

Herramientas de Analítica

¡Perfecto! Su sitio web tiene una herramienta de análisis.

   Google Analytics
   Clicky

PageSpeed Insights


Dispositivo
Categorias

Free SEO Testing Tool

Free SEO Testing Tool es una herramienta seo gratuita que te ayuda a analizar tu web