How to display the output of my module without clearing cache and refresh page? I created a very simple module which generates a tag cloud based on user input; you can see the code here.

// wow.module
function wow_menu() {
    $items = array();
    $items['wall/of/words'] = array(
        'title' =&gt; 'Wall of Words',
        'page callback' =&gt; 'wow_page',
        'access arguments' =&gt; array('access content'),
        'file' =&gt; 'wow.inc',
        'weight' =&gt; 1,
    );
    $items['admin/settings/wall/of/words'] = array(
        'title' =&gt; 'On this date module settings',
        'description' =&gt; 'Description of your On this date settings page',
        'page callback' =&gt; 'wow_admin_page',
        'page arguments' =&gt; array('wow_admin'),
        'access arguments' =&gt; array('administer wow settings'),
        'type' =&gt; MENU_NORMAL_ITEM,
    );
    return $items;
}

function wow_admin_page() {
    return 'hey';
}



// wow.inc
function wow_page() {
    $output = array(
        'form' =&gt; drupal_get_form('wow_cake'),
        'words' =&gt; _getWords(),
        'min_count' =&gt; 0,
        'max_count' =&gt; 999
    );
    drupal_add_js(drupal_get_path('module', 'wow') . '/js/jquery.tagcloud.js');
    drupal_add_js('jQuery(function(){jQuery("#wow-container .cloud a").tagcloud({size:{start:20,end:40,unit:"pt"},color:{start:"#46A7E3",end:"#0969A3"}})})', 'inline');
    return theme('wow_template', array('output' =&gt; $output));
}

function wow_theme($existing, $type, $theme, $path) {
    return array(
        'wow_template' =&gt; array(
            'template' =&gt; 'wow_template'
        ),
    );
}

function wow_cake($form, &amp;$form_state) {
    $form = array();

    $form['title'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; t('Thank you for...'),
        '#size' =&gt; 60,
        '#maxlength' =&gt; 128,
        '#required' =&gt; TRUE,
    );

    $form['buttons']['submit'] = array(
        '#type' =&gt; 'submit',
        '#value' =&gt; t('Submit'),
    );
    return $form;
}

function wow_cake_validate(&amp;$form, &amp;$form_state) {

    if (empty($form_state['values']['title'])) {
        form_set_error('title', t('Please leave a thank you message in highlighted field below.'));
    }
}

function wow_cake_submit(&amp;$form, &amp;$form_state) {

    if (_create_node($form_state['values']['title'], $form_state['values']['title'])) {
        drupal_set_message(t('Thank you for your kind words!'), 'status');
    }
}

function _getWords() {
    $query = new EntityFieldQuery();
    $query-&gt;entityCondition('entity_type', 'node', '=')
            -&gt;propertyCondition('status', 1, '=')
            -&gt;propertyCondition('type', 'wall_of_words', '=');
    $result = $query-&gt;execute();
    $nodes = $result['node'];
    $fields = field_info_instances('node', 'wall_of_words');
    $field_id = $fields['body']['field_id'];
    field_attach_load('node', $nodes, FIELD_LOAD_CURRENT, array('field_id' =&gt; $field_id));
    $wall = '';

    foreach ($nodes as $node) {

        if (!empty($node-&gt;body['und']['0']['value'])) {

            $wall .= trim($node-&gt;body['und']['0']['value']);
            $wall .= " ";
        }
    }
    if (!empty($wall)) {
        $cloud = explode(" ", $wall);
    }

    return array_count_values($cloud);
}

function _create_node($title = "", $body = "", $language = "und") {

    $node = (object) array();
    $node-&gt;type = 'wall_of_words';
    $node-&gt;status = 1;
    $node-&gt;promote = 0;
    $node-&gt;sticky = 0;
    $node-&gt;revision = 0;
    $node-&gt;language = $language;
    $node-&gt;title = $title;
    $node-&gt;body[$language][0] = array(
        'value' =&gt; $body,
        'format' =&gt; 'full_html',
    );
    if ($node = node_submit($node)) {
        node_save($node);
    }

    return $node;
}


My issue: when I visit another page and come back to the page that I generated with my module the output of the content does not get displayed unless I clear the cache and visit the page again.
there's this method here : 

drupal_page_is_cacheable

actually i never used it, but cacheexclude module does,
maybe you have to hook_init too and check for your path there !